我有一些浮点数值想要转换为字符串,我希望在转换时保持同样的格式,例如 999.0000(float) -> 999.0000(String)。我的问题是当值在十进制点后包含任意数量的零时,就像上面的例子一样,它们在转换为字符串时会被去除,所以我实际上得到的结果是 999。
我查看了在MSDN上的 toString()
方法的格式说明符,RoundTrip('R')说明符看起来可以产生我想要的结果,但它仅支持单精度、双精度和大整型变量。是否有类似于这种浮点变量的格式说明符?或者将它们转换为双精度变量是否更容易?
更新:只是为了澄清,我想要保留尾随的零是因为我正在比较小数位数,即我正在比较两个值之间小数点后的数字数量。例如,1.00和1.00000在小数点后有不同数量的数字。我知道这是一个奇怪的请求,这是为了工作需要,要求来自高层。
更新 2-3-11:
我想得太复杂了,我正在从文本文件中读取数字,然后将它们解析为浮点数,我将修改程序以检查字符串值是小数还是整数。对于浪费您的时间,我很抱歉,尽管这很有启发性。
float
/System.Single
类型来说,999.0000和999.0之间没有区别(它们是相同的);它们只是值,完全不受格式化的影响。这个999.0000是从哪里来的?你在哪里看到它了? - Dan Tao