【问题标题】:Round to 4 Decimal places not working?四舍五入到 4 个小数位不起作用?
【发布时间】:2014-03-28 13:55:12
【问题描述】:

这样做:

double dblRateEvalResult = -0.52;
string strNewResult = dblRateEvalResult.ToString("000.####").TrimStart('-');

我想要:

000.5200

我明白了:

000.52

我做错了什么?

【问题讨论】:

    标签: c# format decimal


    【解决方案1】:

    您需要0 自定义说明符而不是#

    string str =  dblRateEvalResult.ToString("000.0000").TrimStart('-');
    

    (在您的代码中,您试图将字符串分配给双精度值,我想这是一个错字)

    见:The "0" custom format specifier - Custom Numeric Format Strings

    如果正在格式化的值的位置有一个数字 零出现在格式字符串中,该数字被复制到 结果字符串;否则,结果字符串中将出现零。

    【讨论】:

    • 是的,那个双/字符串是一个错字...我正确更新了我的问题
    • 只是一个附带问题 - 这是否意味着我可以使用任何字符来代替 0
    • @FastTrack,不,我不这么认为,你会在这里找到更多信息msdn.microsoft.com/en-us/library/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多