Форматирование float до 2 знаков после запятой

в настоящее время я создаю модуль продаж для веб-сайта клиентов. До сих пор у меня есть цена продажи для идеального расчета, но там, где я застрял, форматирование вывода до 2 десятичных знаков.

в настоящее время я вызываю это в переменной, чтобы я мог привязать результаты к listview.

Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),

может ли кто-нибудь показать мне, как форматировать выходные данные до 2 десятичных знаков?? Большое Спасибо!

6 ответов


вы можете передать формат в ToString способ, например:

myFloatVariable.ToString("0.00"); //2dp Number

myFloatVariable.ToString("n2"); // 2dp Number

myFloatVariable.ToString("c2"); // 2dp currency

Стандартные Строки Формата Номера


первое, что вам нужно сделать, это использовать decimal типа вместо float по ценам. Используя float абсолютно неприемлемо для этого, потому что он не может точно представлять большинство десятичных дробей.

после этого, Decimal.Round() может использоваться для округления до 2 мест.


String.Format("{0:#,###.##}", value)

более сложный пример форматирование строк в C#:

String.Format("{0:$#,##0.00;($#,##0.00);Zero}", value);

это выведет " $1,240.00 " если прошло 1243.50. Он выведет тот же формат, но в круглых скобках, если число отрицательное, и выведет строку "ноль", если число равно нулю.


Я верю:

строку.Формат("{0:0.00}",Продажи);

должны сделать это.

Ссылка Примеры Строкового Формата C#


string outString= number.ToString("####0.00");

как уже упоминалось, вам нужно будет использовать форматированный результат; который все делается через Write(), WriteLine(), Format() и ToString() методы.

, что не было упомянуто-это формат фиксированной точки что позволяет использовать заданное количество знаков после запятой. Он использует "F", а число, следующее за "F", - это количество выведенных десятичных знаков, как показано в примерах.

Console.WriteLine("{0:F2}", 12);    // 12.00 - two decimal places
Console.WriteLine("{0:F0}", 12.3);  // 12 - ommiting fractions