首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Float to String格式说明符

Float to String格式说明符
EN

Stack Overflow用户
提问于 2011-02-02 02:36:47
回答 4查看 219.2K关注 0票数 32

我有一些浮点值想要转换成字符串,我想在转换时保持格式不变,即999.0000(浮点数) -> 999.0000(字符串)。我的问题是,当值在小数点后包含任意数量的零时,就像前面的例子一样,它们在转换为字符串时被剥离,因此我实际得到的结果是999。

我查看了MSDNtoString()方法的格式说明符,RoundTrip ('R')说明符看起来可以产生我想要的结果,但它只支持Single、Double和BigInt变量。有没有像这样的浮点型变量的格式说明符?或者只将值转换为双精度值会更容易吗?

更新:为了清楚起见,我想保留尾随零的原因是因为我要比较小数位数,即比较两个值之间小数位后的位数。因此,例如,1.00和1.00000在小数点后有不同的位数。我知道这是一个奇怪的要求,这是为了工作而提出的要求。

更新2-3-11:

我想的太多了,我从一个txt文件中读取数字,然后将它们解析为浮点数,我将修改程序,检查字符串值是小数还是整数。很抱歉浪费您的时间,尽管这非常有洞察力。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-02 03:16:34

首先,作为Etienne saysfloat in C# is Single。它只是该数据类型的C#关键字。

所以你绝对可以这样做:

代码语言:javascript
复制
float f = 13.5f;
string s = f.ToString("R");

其次,您已经多次提到数字的“格式”;数字没有格式,它们只有值。字符串具有格式。这让我想知道:什么东西有格式但不是字符串?我能想到的最接近的是decimal,它确实保持了自己的精度;然而,在这种情况下,简单地调用decimal.ToString应该会有您想要的效果。

如何包含一些示例代码,这样我们就可以确切地看到您正在做什么,以及为什么它没有达到您想要的效果?

票数 35
EN

Stack Overflow用户

发布于 2011-02-02 02:39:19

使用以下格式的ToString()

代码语言:javascript
复制
12345.678901.ToString("0.0000"); // outputs 12345.6789
12345.0.ToString("0.0000"); // outputs 12345.0000

根据需要在格式的末尾添加任意多的零。

票数 68
EN

Stack Overflow用户

发布于 2012-05-17 19:22:05

您可以将格式字符串传递给ToString方法,如下所示:

代码语言:javascript
复制
ToString("N4"); // 4 decimal points Number

如果您想了解更多修饰符,可以查看MSDN - Standard Numeric Format Strings

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4866542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档