Формат float с таким же количеством значащих десятичных знаков - PullRequest
0 голосов
/ 29 октября 2011

Что я хотел бы сделать, это отформатировать число с тем же количеством значащих десятичных знаков.

Пример:

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 Andreas

1 Ответ

2 голосов
/ 30 октября 2011
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;
...