我目前正在为客户网站建立一个销售模块。到目前为止,我已经得到销售价格计算完美,但我遇到的问题是格式化输出到2位小数。
我目前在一个变量中调用它,以便我可以将结果数据绑定到一个列表视图。
Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),
谁能告诉我如何格式化输出到小数点后2位??很多谢谢!
我目前正在为客户网站建立一个销售模块。到目前为止,我已经得到销售价格计算完美,但我遇到的问题是格式化输出到2位小数。
我目前在一个变量中调用它,以便我可以将结果数据绑定到一个列表视图。
Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),
谁能告诉我如何格式化输出到小数点后2位??很多谢谢!
当前回答
我相信:
String.Format("{0:0.00}",Sale);
应该这么做。
看到链接 字符串格式示例c#
其他回答
我相信:
String.Format("{0:0.00}",Sale);
应该这么做。
看到链接 字符串格式示例c#
您需要做的第一件事是使用十进制类型而不是浮点类型来计算价格。使用浮点数是绝对不可接受的,因为它不能准确地表示大多数小数。
一旦你这样做了,Decimal.Round()可以用来四舍五入到2位。
String.Format(“{0:#,# # #。# #}”,值)
下面是c#中字符串格式化的一个更复杂的例子:
String.Format(“{0:$ #,# # 0.00;($ #,# # 0.00);零}”,值); 如果通过1243.50,将输出“$1,240.00″”。如果数字为负数,它将输出相同的格式,但在括号中,如果数字为零,它将输出字符串“Zero”。
string outString= number.ToString("####0.00");
private float LimitDecimalPlace(double number,int limitPlace)
{
float result = 0;
string sNumber = number.ToString();
int decimalIndex = sNumber.IndexOf(".");
if (decimalIndex != -1)
{
sNumber = sNumber.Remove(decimalIndex + limitPlace + 1);
}
result = float.Parse(sNumber);
return result;
}