powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
3 сообщений из 3, страница 1 из 1
JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
    #35694091
Дима_x86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Никак не могу понять, почему такая функция:

function retCents(varIn){
return varIn.toString().replace(",",".")*100
}


возвращает:

250.99999999999997

когда ей на вход поступает:

varIn = "2,51"

или другое какое-нибудь, на мой взгляд, случайное число (Функция ведет себя избирательно :))
При этом для всех других, "неизбраных-Функцией" чисел, возвращает нормальный результат, т. е. денежную сумму в копейках.
Сценарий, в котором применяется функция, читает данные из текстового файла, а затем формирует другой текстовый файл для импорта в спецсофт. Возможность подачи на вход функции некорректных данных я исключил, все данные имеют нужный вид, т. е.:

"целая часть","дробная часть"

Подскажите, пожалуйста, может есть какие-то "недокументированые возможности" JS, которые я упустил??? Задача, я думаю, типична, возможно кто-то сталкивался с подобной проблемой, на что в таком случае мне следует обратить внимание???

Заранее благодарен.
...
Рейтинг: 0 / 0
JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
    #35694138
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима_x86Подскажите, пожалуйста, может есть какие-то "недокументированые возможности" JS, которые я упустил??? Такие "недокументированые возможности" есть, увы, во всех языках программирования Это называется "ошибка округления".

ЗЫ: Один математик как то так сказал: "Целые числа - от бога, дробные - от дьявола", в общем, что-то в этом роде. Как он был прав...
...
Рейтинг: 0 / 0
JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
    #35694546
Дима_x86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему только что решил. Функция выглядит так:

function retCents(varIn) {
return (varIn.toString().replace(",",".")*100).toFixed()
}


Оказывается у меня была старая версия документации по MS JScript :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]