Форматирование строки удаляет ошибки с плавающей запятой?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Форматирование строки удаляет ошибки с плавающей запятой?

Сообщение Anonymous »

Я пытаюсь понять арифметику с плавающей запятой немного лучше. Кто -нибудь может помочь мне понять, что происходит в примере ниже? < /P>

Код: Выделить всё

using System;

public class FloatingPointMadness
{
public static void Main(string[] args)
{
float f = 0.1f;
Console.WriteLine ($"Real value is: {f:F16}");
}
}
< /code>
Я использую .net Framework 4.7.2. Поскольку десятичное 0,1 не может быть представлено точно с арифметикой с плавающей запятой, я ожидаю, что это произведет что -то вроде: < /p>
Real value is: 0.1000000014901161

, но вместо этого я получаю:

Код: Выделить всё

Real value is: 0.1000000000000000

онлайн -пример. Если я перейду к использованию компилятора .net 9, я получаю то, что ожидаю. Что здесь происходит?

Подробнее здесь: https://stackoverflow.com/questions/794 ... int-errors
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»