2010-11-30 2 views
5

私は以下の数字を持っています。私は10進数の後に1桁を表示したい。どのようにフォーマットするのですか?文字列形式の小数第1位

2.85 
2 
1.99 
Iを用いた

( "{0:0.0}"。。しかし、データは、修正すること、

2.9 //It should be 2.8 
2.0 //It should be 2 
2.0 //It should be 1.9 
+1

(厳密roun ding-downはかなり珍しい) –

答えて

7

は、フォーマット文字列として"{0:0.#}"を使用してみてくださいしかし等示す.0修正します。 に丸め常にを切り捨て、あなたが使用することをお勧めします:

string s = (Math.Floor(value * 10)/10).ToString("0.#"); 
2
Decimal[] decimals = { new Decimal(2.85), new Decimal(2), new Decimal(1.99) }; 

foreach (var x in decimals) 
{ 
    Console.WriteLine(string.Format("{0:0.#}", Decimal.Truncate(x * 10)/10)); 
} 

// output 
2.8 
2 
1.9