Excel неправильно хранит числа

Excel неправильно хранит числа

Если я ввожу значение в ячейку, оно сохраняется, как и ожидалось, но если я устанавливаю значение через код VBA, оно сохраняется неправильно. Если быть точнее, я вычислил высоту чего-то, и полученное значение равно 1,15. Число отображается правильно, но когда я нажимаю на ячейку, фактически сохраненное число равно 1,14999997615814. Есть еще одна ячейка, которая использует это число или другое число в зависимости от условия. Эта ячейка всегда отображает фактическое сохраненное число (1,14999997615814), что неверно. Это для технического документа, рассматриваемого государственными инженерами, поэтому даже небольшое отклонение приведет к отклонению документа. Я пробовал сохранять число как текст (никакой разницы), округлять его перед сохранением (никакой разницы), вычислять его как одинарную или двойную точность перед сохранением, опять же, без разницы в том, что делает Excel. Это происходит не со всеми значениями, но когда вычисленный результат равен 1,15, он проявляет такое поведение. Единственное, что заставляет число сохраняться правильно, это вручную вводить его, и это сводит на нет весь смысл вычисления значения. Кто-нибудь знает, что происходит и как я могу заставить, принудить или подкупить Excel, чтобы он вел себя правильно?

ТИА.

решение1

Я до сих пор не знаю, что на самом деле вызвало проблему. Я не буду утомлять вас кодом, используемым для достижения результата — вкратце, это просто нахождение чисел для сложения и их сложение. Значения — (0,0747*2)+(0,25*2)+.05006, что равно 1,15. Единственное исправление, которое сработало, — это присвоить результаты ячейке как текст, а затем преобразовать их в число, например:

    ws.Range("L24").Value = "'" & JobSettings.BrgHeight
    ws.Range("L24").Select
    Selection.NumberFormat = "General"

Связанный контент