Пробую грузить суммы из Excel. В ячейке значение "36468,305", 1С это видит как "36 468,30499999999". Или число "91233" 1с видит как "91 233,00000000002"...И таких случаев море. Иногда такие косяки ни на что не влияют, а иногда теряется копейка при загрузке. Я накидал краткую обработку для демонстрации данного косяка и файл Excel с корректными и косячными суммами.

Как это побороть?

Мне кажется, что это косяк на стороне 1С, а не в Excele,т.к. даже после копирования в блокнот и обратно в Excel (так стирается всё форматирование) часть сумм всё-равно остаются косячными. Например было: "88297,6", 1С это видела это как "88 297,59999999999", после копирования в блокнот и копирования из блокнота 1с эту сумму стала видит как "88 297,60000000001". Ручное забивание суммы "88297,6" в пустой файл Excel тоже даёт неверное считывание.
---
Всем спасибо за ответы. В принципе проблема понятна, теоретически обоснована и решения как минимум 2:

1. Это решение я ещё до этого знал, но оно мне не нравится. Считывать не из поля Value, а из поля Text. Там значение всегда правильное (как его видит пользователь). В этой переменной мы считаем строку, её можно приводить к числу (если надо).

2. Как предложил (2) PetroP, - округлять до 10 знаков после запятой и мы получим тогда реальное значение.
Можно ещё варианты придумать но они будут производные от 1 и 2 вариантов.

Замечание: если мне нужна точность 2 знака, то сразу до 2 округлять нельзя, т.к. значение «36468,305» 1с видит как «36 468,30499999999», а это при округлении до 2 знаков «36 468,30», что не правильно. Правильно сначала округлить до 10 знаков и получим «36468,305» и только после этого округлять до 2 знаков, чтобы получить «36468,31»

Может кто-то предпочтёт для себя 1 вариант, но для себя выбрал 2 вариант, т.к. считываю данные выгружая всё в массив массивов через UsedRange.Value.Выгрузить(). У меня сейчас большие Excel файлы и если я буду считывать построчно из .Text то обработка будет выполняться критично дольше...

Размещаю обработку для примера. Там я по-разному считывают: в строковую переменную из Value, в строку из Text, числовую с 2 знаками после запятой из Value, в число 11, в число 2 с предварительным округлением до 10 знаков. Суммы вперемешку идут то косячные, то нет.
---
Это такой боян. Просто округляйте до 10 знаков после запятой.
---
klinval, Мне кажется, что это косяк на стороне 1С, а не в Excele
Как раз наоборот. Это косяк Excele. Точнее в типах данных.
В 1С для чисел используется тип данных Decimal. Тип данных decimal может хранить не более 38 разрядов. Причем все значимые, т.е. без потери точности в пределах допустимых значений.
В Excel для дробных чисел использует тип данных float. Тип float сохраняется как четырехбайтовое число одиночной точности с плавающей запятой. Он представляет 32-разрядное значение одиночной точности в формате IEEE 754.Самое большое число, которое может быть представлено типом float, — это 3,4E + 38 (положительные или отрицательные) с точностью около 7 разрядов.
Приблизительные числовые типы данных не хранят точных значений, заданных для многих чисел. Вместо этого они хранят очень хорошее приближение для этих значений. Для многих приложений различие между заданным значением и хранимым приближением несущественно. Однако в некоторых случаях это различие становится ощутимым.
Вот при приведении типов получаются погрешности.
В качестве решения можно попробовать:
 В Excel перевести все числа в строку и передавать стройкой, с последующим приведением к числу уже в 1С;
---
klinval, На сколько я знаю, это "косяк" com-технологии. Там необычное представление числа.
Когда работаешь через com желательно всегда округлять до необходимого знака. Проблем быть не должно.
---
klinval, Мне кажется, что это косяк на стороне 1С, а не в Excele
Как раз наоборот. Это косяк Excele. Точнее в типах данных.
В 1С для чисел используется тип данных Decimal. Тип данных decimal может хранить не более 38 разрядов. Причем все значимые, т.е. без потери точности в пределах допустимых значений.
В Excel для дробных чисел использует тип данных float. Тип float сохраняется как четырехбайтовое число одиночной точности с плавающей запятой. Он представляет 32-разрядное значение одиночной точности в формате IEEE 754.Самое большое число, которое может быть представлено типом float, — это 3,4E + 38 (положительные или отрицательные) с точностью около 7 разрядов.
Приблизительные числовые типы данных не хранят точных значений, заданных для многих чисел. Вместо этого они хранят очень хорошее приближение для этих значений. Для многих приложений различие между заданным значением и хранимым приближением несущественно. Однако в некоторых случаях это различие становится ощутимым.
Вот при приведении типов получаются погрешности.
В качестве решения можно попробовать:
 В Excel перевести все числа в строку и передавать стройкой, с последующим приведением к числу уже в 1С;
---
Это такой боян. Просто округляйте до 10 знаков после запятой.
---
Всем спасибо за ответы. В принципе проблема понятна, теоретически обоснована и решения как минимум 2:

1. Это решение я ещё до этого знал, но оно мне не нравится. Считывать не из поля Value, а из поля Text. Там значение всегда правильное (как его видит пользователь). В этой переменной мы считаем строку, её можно приводить к числу (если надо).

2. Как предложил (2) PetroP, - округлять до 10 знаков после запятой и мы получим тогда реальное значение.
Можно ещё варианты придумать но они будут производные от 1 и 2 вариантов.

Замечание: если мне нужна точность 2 знака, то сразу до 2 округлять нельзя, т.к. значение «36468,305» 1с видит как «36 468,30499999999», а это при округлении до 2 знаков «36 468,30», что не правильно. Правильно сначала округлить до 10 знаков и получим «36468,305» и только после этого округлять до 2 знаков, чтобы получить «36468,31»

Может кто-то предпочтёт для себя 1 вариант, но для себя выбрал 2 вариант, т.к. считываю данные выгружая всё в массив массивов через UsedRange.Value.Выгрузить(). У меня сейчас большие Excel файлы и если я буду считывать построчно из .Text то обработка будет выполняться критично дольше...

Размещаю обработку для примера. Там я по-разному считывают: в строковую переменную из Value, в строку из Text, числовую с 2 знаками после запятой из Value, в число 11, в число 2 с предварительным округлением до 10 знаков. Суммы вперемешку идут то косячные, то нет.