Округление числа до сотых

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Округление числа до сотых

Сообщение 2rusbekov 03 сен 2012, 08:27

Добрый день. Подскажите, пожалуйста, как можно округлить число до сотых или до любого количества чисел после нуля?
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Округление числа до сотых

Сообщение seaman 03 сен 2012, 09:50

Синтаксис:
Используется csharp
float start = 3.1415926f;
float res = ((int)(start * 100)) / 100f;

res = 3.14
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Округление числа до сотых

Сообщение jetyb 03 сен 2012, 12:11

Синтаксис:
Используется csharp
float res = ((int)(start * 100)) / 100;

Не будет работать: берется результат деления двух целых чисел - целое. Нужно приведение.
Синтаксис:
Используется csharp
float res = ((float)(int)(start * 100)) / 100;

Еще приведение к целому не округляет корректно ( (int) 3.8 = 3 ) Надо использовать функции Math.Round ( есть перегрузка с количеством знаков) и Mathf.Round .
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: Округление числа до сотых

Сообщение waruiyume 03 сен 2012, 12:47

Синтаксис:
Используется csharp
using UnityEngine;

public class Test : MonoBehaviour
{
    public float fl = Mathf.PI;
    public float result;

    void Start()
    {
              result = float.Parse(fl.ToString("#.##"));
    }
}
 


Синтаксис:
Используется csharp
result = (float)System.Math.Round(fl, 2);
 
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Округление числа до сотых

Сообщение 2rusbekov 03 сен 2012, 14:37

seaman писал(а):
Синтаксис:
Используется csharp
float start = 3.1415926f;
float res = ((int)(start * 100)) / 100;

res = 3.14


Блин как я не додумался!?!?! Спасибо.
Still alive...
Аватара пользователя
2rusbekov
Адепт
 
Сообщения: 1409
Зарегистрирован: 06 апр 2012, 12:57
Откуда: Бишкек

Re: Округление числа до сотых

Сообщение seaman 03 сен 2012, 15:16

Не будет работать: берется результат деления двух целых чисел - целое. Нужно приведение.

Да. Но лучше просто написать 100f
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18