使用相同数量的有效小数格式化float

时间:2011-10-29 19:51:53

标签: 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.Format("????", c1); // the result i want is "123.456"

我想用这个来表示汇率的格式。

BR 安德烈亚斯

1 个答案:

答案 0 :(得分:2)

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;