如何将字符串转换为具有特定位数的十进制[重复]

Posted

技术标签:

【中文标题】如何将字符串转换为具有特定位数的十进制[重复]【英文标题】:How to convert string to decimal with specific number of digits [duplicate] 【发布时间】:2016-02-28 18:29:32 【问题描述】:

我有一个关于 Math.Round 函数的小问题。 我需要将字符串“12.123456”四舍五入到小数点后 4 位。我用过:

 Math.Round(Convert.ToDouble(pData), 4).ToString()

其中 pData 被定义为字符串,但值是带有 7 位小数的十进制值。 我的问题是我希望每次都能得到精确的 4 位小数,但对于某些值,它只给我 2(例如 12.12 而不是 12.1200)。 如何更改才能始终获得所需的 4 位小数? 问候,

【问题讨论】:

【参考方案1】:

您应该改用format strings:

pDate.ToString("0.0000")

pDate.ToString("n4")

【讨论】:

以上是关于如何将字符串转换为具有特定位数的十进制[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Delphi 中将浮点数转换为字符串,指定有效数字,而不是十进制数字(而不是 G 格式)

将int转换为具有固定位数的二进制[重复]

将整数转换为具有特定格式的十六进制字符串

将具有三个或四个字符的 DB2 Decimal 转换为有效时间

如何将十六进制字符串转换为十六进制数字 [重复]

将十六进制转换为 Swift 格式的字符串以保持相同的位数