我需要将特定值显示为4位小数。
这是代码
row["Money"] = StringMgt.ToGlobalizationString("N4", dblMoney);
public static string ToGlobalizationString(string format, double dblNumber)
{
return dblNumber.ToString(format, CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name));
}
哪个输出
1.4305228 to 1.4305 (which is fine!)
0.30704454 to 0.307 (I need to display 4 decimal places consistently)
如何强制它显示四位小数(ex 0.3070
)?我看过类似的帖子但是听不懂。
感谢。
答案 0 :(得分:4)
所以我理解它的方式你需要四个小数,否则用右边的0填充。所以它应该是.ToString("0.0000")
。
答案 1 :(得分:1)
我会使用F-Format specifier:
void Main()
{
double input = 3.213112134;
string result = input.ToGlobalizationString("F4").Dump();
}
public static class Extensions
{
public static string ToGlobalizationString(this double input, string format)
{
return input.ToString(format, CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name));
}
}
这将返回一个包含4个小数点的字符串。根据自己的喜好改变它。
答案 2 :(得分:0)
使用以下格式:
row["Money"] = StringMgt.ToGlobalizationString("0.0000", dblMoney);
答案 3 :(得分:0)
我已经尝试了所有的建议。如果输出值为零,则为第4个小数,不显示它。例如,它显示0.307而不是0.3070。如果第四个十进制数不是零,它就可以正常工作。
示例:
Input value: 0.511519926 Output: 0.5115 Input Value: 0.45895644 Output Value: 0.459
我取消了文化背景,但仍然无效。
我做了这个并且有效
ClassA.gridTable.Columns[17].DefaultCellStyle.Format = "#,0.0000";
感谢所有人的宝贵意见。