Сохранять одно число после десятичной точки, не округляя - PullRequest
1 голос
/ 02 октября 2019

У меня есть двойная переменная в c #: DoubleVar = 3.488;

Я хочу сохранить только одну цифру после десятичной точки, а не округления. Например: 3.4 Большое спасибо заранее.

Ответы [ 2 ]

4 голосов
/ 02 октября 2019

Поскольку вы указали "без округления" и не указали, что это отображается как текст . Затем следующее усечет до 1 знака после запятой

value = Math.Truncate(value * 10) / 10

Примечание с плавающей точкой, вы, вероятно, все равно получите артефакты, так как тамявляются числами, которые не могут быть представлены в базе 2

2 голосов
/ 02 октября 2019
public static void Main()
{
    double val = 1.33;     
    Console.WriteLine(String.Format("{0:0.#}", val));
}
...