С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
mrmen6
1 / 1 / 0
Регистрация: 21.01.2014
Сообщений: 44
1

Есть ли аналог toFixed (из JS)

13.08.2014, 15:17. Просмотров 1022. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста, есть ли аналог toFixed (js) в C#?
Т.е мне нужно из числа например

C#
1
2
3
4
5
var n = 12345.6789;
n.toFixed();              // 12346: округление, длина дробной части ноль
 
n.toFixed(1);             // 12345.7: округление
n.toFixed(6);             // 12345.678900: добили нулями

а именно мне нужно что бы он добавлял нули, как это реализовать?
т.е например вот этот код:
C#
1
2
double duration = 1,49;
string result = duration.ToString("#.##");
результат будет 1.5, а мне нужен 1.50
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2014, 15:17
Ответы с готовыми решениями:

Есть ли аналог System из C++
Есть в C++ такая функция - system, которая принимает строку-команду и...

Есть ли аналог Regex?
Добрый вечер. Я хотел использовать Regex, но потом понял, что нужно учитывать...

Есть ли аналог \g<name> в Regex?
В PHP можно использовать как \k&lt;name&gt;, так и \g&lt;name&gt;. А в C# только \k&lt;name&gt;...

Есть ли аналог setw() в C#
Или каким образом можно сделать красивый вывод двух колонок данных не...

Есть ли аналог memset
есть ли какой нибудь аналог memset в шарпе? я вот тут для себя только что...

6
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
13.08.2014, 15:23 2
mrmen6,
Вместо 2 нужное кол-во знаков
C#
1
2
3
4
int i = 20;
            double d = 1.45446464;
            string strI = i.ToString("N2");
            string strD = d.ToString("F2");
1
mrmen6
1 / 1 / 0
Регистрация: 21.01.2014
Сообщений: 44
13.08.2014, 15:28  [ТС] 3
XRoy

спасибо, но мне еше нужно что бы он округлял значение, т.е из double d = 1.49446464; был результат 1.50
0
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
13.08.2014, 15:55 4
mrmen6,
Это округление в вверх называется, при обычном округлении до 2 знаков после запятой у вас таки получится 1,49

Добавлено через 9 минут
C#
1
2
3
            double d = 1.49446464;
            d = Math.Ceiling(d*100)/100;
            Console.WriteLine(d.ToString("F2"));
1
mrmen6
1 / 1 / 0
Регистрация: 21.01.2014
Сообщений: 44
13.08.2014, 16:19  [ТС] 5
XRoy, а как сделать округление вверх?

Добавлено через 19 минут
Вообщем я нашел по поводу округления в большую сторону, но все равно что то не так...
Вот число: 2,86956521
из него должно получится 2,88 а у меня получается 2,87
как правильно округлить ?
0
XRoy
862 / 712 / 305
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
13.08.2014, 16:36 6
mrmen6,
Мне интересен алгоритм по которому вы округляете таким образом
0
MrGladus
172 / 172 / 50
Регистрация: 06.01.2013
Сообщений: 392
13.08.2014, 17:46 7
C#
1
Math.Round
0
13.08.2014, 17:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 17:46

Есть ли в C# аналог функции inline?
У меня есть задача на С++ с использованием функции inline, но мне надо сделать...

Есть ли аналог DateTime из Java
Подскажите эквивалент этому методу из Java для c#: public long...

Tакой есть аналог pragma once
какой есть аналог #pragma once(с++) на С# а то создал обьект класа который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru