C# 使用相同数量的有效小数格式化浮点
我想做的是用相同数量的有效小数格式化数字 例如:C# 使用相同数量的有效小数格式化浮点,c#,floating-point,number-formatting,decimal,C#,Floating Point,Number Formatting,Decimal,我想做的是用相同数量的有效小数格式化数字 例如: var a1 = 0.123456789; var b1 = 0.00123456789; var c1 = 123.456789; var a2 = string.Format("????", a1); // the result i want is "0.123" var b2 = string.Format("????", b1); // the result i want is "0.00123" var c2 = string.Form
var a1 = 0.123456789;
var b1 = 0.00123456789;
var c1 = 123.456789;
var a2 = string.Format("????", a1); // the result i want is "0.123"
var b2 = string.Format("????", b1); // the result i want is "0.00123"
var c2 = string.Format("????", c1); // the result i want is "123.456"
我想用它来表示汇率的格式
溴
安德烈亚斯
编辑:
我使用C#因此首选该语言中的示例:o)有趣的是,我刚刚编译了我的第一个C#程序,以测试这是否可行(确实可行)。抱歉,有点不清楚,还包括一个案例123.456。。。如果我使用这种格式,我只得到123。3位小数将不包括在内。因此,您希望精度为3,但仅在逗号后面?这可能会对字符串进行一些切分。请参阅我的编辑。(看起来很有趣:)但要知道你实际上是在添加有效数字。有些数学人可能不喜欢这样。
var a1 = 0.123456789;
var b1 = 0.00123456789;
var a2 = string.Format("{0:G3}", a1);
var b2 = string.Format("{0:G3}", b1);
var a = 123.456789;
var n = string.Format("{0:F0}", a);
var d = string.Format("{0:G3}", a - (int)a);
if (d.Length > 2)
n = n + d.Substring(1);
label1.Text = n;