为double强制四位小数
本文关键字:四位 小数 double | 更新日期: 2023-09-27 18:14:16
我需要显示特定的值到小数点后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)
我如何强制它显示四位小数(如0.3070
)?我看过类似的帖子,但没有完全理解。
谢谢。
所以我的理解是你需要正好四位小数,否则在右边填上0。所以应该是.ToString("0.0000")
我会使用F-Format说明符:
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个小数点的字符串。
使用以下格式:
row["Money"] = StringMgt.ToGlobalizationString("0.0000", dblMoney);
我已经尝试了所有的建议。如果输出值的第四位小数为零,则不显示它。例如,它显示的不是0.3070,而是0.307。如果第四个小数点不是零,它就可以正常工作。
的例子:
Input value: 0.511519926 Output: 0.5115 Input Value: 0.45895644 Output Value: 0.459
我把文化设置关掉了,还是不行。
我这样做了,它成功了
ClassA.gridTable.Columns[17].DefaultCellStyle.Format = "#,0.0000";
感谢大家的宝贵意见。