|
|
|
JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
|
|||
|---|---|---|---|
|
#18+
Добрый день! Никак не могу понять, почему такая функция: function retCents(varIn){ return varIn.toString().replace(",",".")*100 } возвращает: 250.99999999999997 когда ей на вход поступает: varIn = "2,51" или другое какое-нибудь, на мой взгляд, случайное число (Функция ведет себя избирательно :)) При этом для всех других, "неизбраных-Функцией" чисел, возвращает нормальный результат, т. е. денежную сумму в копейках. Сценарий, в котором применяется функция, читает данные из текстового файла, а затем формирует другой текстовый файл для импорта в спецсофт. Возможность подачи на вход функции некорректных данных я исключил, все данные имеют нужный вид, т. е.: "целая часть","дробная часть" Подскажите, пожалуйста, может есть какие-то "недокументированые возможности" JS, которые я упустил??? Задача, я думаю, типична, возможно кто-то сталкивался с подобной проблемой, на что в таком случае мне следует обратить внимание??? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 15:55 |
|
||
|
JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
|
|||
|---|---|---|---|
|
#18+
Дима_x86Подскажите, пожалуйста, может есть какие-то "недокументированые возможности" JS, которые я упустил??? Такие "недокументированые возможности" есть, увы, во всех языках программирования Это называется "ошибка округления". ЗЫ: Один математик как то так сказал: "Целые числа - от бога, дробные - от дьявола", в общем, что-то в этом роде. Как он был прав... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 16:03 |
|
||
|
JS: преобразование String-Float с заменой "," на "." и умножением результата на 100
|
|||
|---|---|---|---|
|
#18+
Проблему только что решил. Функция выглядит так: function retCents(varIn) { return (varIn.toString().replace(",",".")*100).toFixed() } Оказывается у меня была старая версия документации по MS JScript :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 17:59 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=310&tid=1455474]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 343ms |

| 0 / 0 |
