Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用相同数量的有效小数格式化浮点_C#_Floating Point_Number Formatting_Decimal - Fatal编程技术网

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;