Javascript的數學難題

首先先考大家幾個數學題,如果這幾題的答案你都能順利的回答,那恭喜你!你可以安心地閱讀這篇文章,你一定能看懂!

題目ㄧ. 0.1 + 0.2 = ?
題目二. 1 – 0.9 = ?
題目三. 0.69 x 10 = ?

相信上面三個簡單的十進位數學運算,你的答案應該會跟我一樣吧?

第一題. 0.3
第二題. 0.1
第三題. 6.9

上面應該是無庸置疑的答案,但是如果我們把這三個題目丟給Javascript去運算之後,得到的結果會變成這樣:

第一題. 0.1 + 0.2 = 0.30000000000000004
第二題. 1 – 0.9 = 0.09999999999999998
第三題. 0.69 x 10 = 6.8999999999999995

什麼!?Javascript連這種小學生的算術都會算錯嗎?其實是有原因的,Javascript所有數字都是以64位浮點數形式儲存,也就是所有的數字都會變轉換成二進位。

上面題目中特別有提到這是3個十進位的數學運算,這也就是這個題目的重點,如果今天的題目改成:10 / 3 = 3.3333333333333334 也許你就能比較明白了,也就是說在十進位中要表達 1 / 3 和二進位中表達 1 / 10 一樣困難。

但其實在我們設計網頁的過程中,使用者是沒有二進位觀念的,只在乎運算出來的數值是否符合十進位的結果,這個時候我們可以利用一些技巧來達成正確的結果。

方法1 . 將小數變成整數後再進行運算


第一題. ((0.1 x 10) + (0.2 x 10)) / 10 = 0.3
第二題. ((1 x 10) – (0.9 x 10)) / 10 = 0.1
第三題. ((0.69 x 100) x 10 / 100) = 6.9

雖說以上的方法能夠順利完成任務,但若運算的數值是動態(Dynamic)的,乘數的部分就比較難下,所以我們可以採用第二種方法。

方法2. Math.js(https://mathjs.org/


透過網站上提供的js,或是透過CDN(https://cdnjs.com/libraries/mathjs)來引入後,透過以下的方法,就可以正確計算出上面三個題目的結果,其中14指的是精準度,通常已經很夠用了。

第一題. math.format(0.1 + 0.2 , 14) = 0.3
第一題. math.format(1 – 0.9 , 14) = 0.1
第一題. math.format(0.69 x 10 , 14) = 6.9

其實Math.js還有很多好用的功能,可以到它官方的網站閱讀一些文章,基本上所有的數學運算應該都可以透過它來玩完成。

You may also like...

102,464 Responses

  1. WayneCoirl表示:

    mexico drug stores pharmacies: purple pharmacy mexico price list – mexican drugstore online

  2. DominicJaw表示:

    mexican border pharmacies shipping to usa: mexican drugstore online – mexican border pharmacies shipping to usa

  3. Robertpaw表示:

    Кондиционирование воды выполняет ключевую роль в поддержании функциональности производственного оборудования – https://vodoclean.ru/nasosnaja-stancija-aquario-auto-ajc-preimushhestva.html. Технология включает очистку и регулирование воды для исключения загрязнений, таких как растворённые соли, биологические соединения и микробы. Это обязательно для защиты от окисления, солевых отложений и других проблем, которые способны понизить работоспособность устройств и уменьшить срок службы. Использование эффективной водоподготовки позволяет не только улучшить надёжность и долговечность оборудования, но и минимизировать затраты на его обслуживание и ремонт.

    Новые системы водоподготовки содержат различные виды этапов обработки и устройств. Среди них особо выделяются фильтрующие устройства, используемые для удаления крупных частиц, системы обратного осмоса, которые полностью удаляют солевые элементы, и ультрафиолетовые установки, убивающие бактерии. Также важную роль играют химические вещества, используемые для регулирования pH и предотвращения коррозии. Внедрение автоматизированных систем управления даёт возможность значительно улучшить эффективность и производительность процесса очистки воды, что имеет большое значение в условиях большого производства.

    Современная водоподготовка положительно влияет на экологию, уменьшая выбросы вредных соединений в атмосферу. Использование передовых технологий и аппаратов минимизирует расход воды и её загрязнение, что отвечает с нормами устойчивого развития. Промышленные компании, занимающиеся водоподготовкой, не только улучшают свои производственные показатели, но и демонстрируют ответственное отношение к окружающей среде. В результате, качественная водоподготовка служит конкурентным преимуществом и вкладом в будущее, как для производств, так и для общества в целом.

  4. WayneCoirl表示:

    mexican mail order pharmacies: medication from mexico pharmacy – buying from online mexican pharmacy

  5. Arnoldten表示:

    buying from online mexican pharmacy mexico pharmacy buying from online mexican pharmacy

  6. Nelsonbluck表示:

    medication from mexico pharmacy: medication from mexico pharmacy – medication from mexico pharmacy

  7. DominicJaw表示:

    mexican online pharmacies prescription drugs: purple pharmacy mexico price list – best online pharmacies in mexico

  8. Jeffreydog表示:

    Кооператив для военных
    Как пайщики — участники СВО относятся к событиям вокруг «Бест Вей»
    Андрей Белоусов
    Потребительский кооператив «Бест Вей» оказался затронут уголовным делом, касающимся в основном иностранной инвесткомпании «Гермес», которое сейчас рассматривается Приморским районным судом Санкт-Петербурга. Более двух лет более 3,5 млрд рублей на счетах кооператива почти непрерывно арестованы по ходатайству сначала ГСУ ГУ МВД по Санкт-Петербургу, а затем Прокуратуры Санкт-Петербурга: пайщики не имеют возможности ни приобрести недвижимость, ни вернуть средства.

    По данным совета потребительского кооператива «Бест Вей», в числе его пайщиков, страдающих от блокировки средств, тысячи военнослужащих, в том числе сотни участников СВО, часть из которых успела приобрести квартиру, часть собирает или собрала первоначальный взнос, а часть — планировала вступить в кооператив. «СП» пообщалась с некоторыми из них и их родственниками, чтобы узнать отношение к «Бест Вей» и событиям вокруг кооператива.

    «К кооперативу отношение очень хорошее»

    Александр Голдман на СВО с мая 2022 года как доброволец, три ранения. Пришел на СВО рядовым, сейчас — начальник штаба батальона. Был пайщиком кооператива, сейчас пайщик — его мама.
    «С помощью кооператива в 2019 году приобретена двухкомнатная квартира во Владивостоке, в которой проживает мама, — рассказывает он. — Расплачиваемся за нее, в ближайшие месяцы намерены погасить задолженность перед кооперативом и оформить квартиру в собственность. К кооперативу отношение очень хорошее, полностью его поддерживаю — он дает возможность без больших переплат приобрести недвижимость. К действиям в отношении кооператива отношусь отрицательно, так как „Бест Вей“ — единственная возможность приобрести жилье в рассрочку».

    «Происходящее вокруг кооператива вызывает шок»

    Гвардии рядовой Глушков Иван Васильевич — пайщик кооператива из Челябинской области. Танкист, мобилизованный, проходил службу в 15-й отдельной гвардейской мотострелковой Александрийской бригаде 2-й гвардейской общевойсковой армии ЦВО. Погиб 11 октября 2023 года.
    Рассказывает его вдова Татьяна Неручева:

    «Мы внесли первоначальный паевый взнос и во второй половине 2021 года встали в очередь на приобретение квартиры в Челябинске, когда начались события вокруг кооператива — была заблокирована его возможность приобретать недвижимость и заблокированы его счета. Наша очередь должна была подойти примерно через год. Мы заявили для приобретения небольшую квартиру, но планировали при покупке увеличить ее стоимость до 3 млн и купить двухкомнатную квартиру — с увеличением первоначального паевого взноса: уставом кооператива это позволяется, а затем переехать из Коркино в Челябинск. Сейчас 3 млн хватит только на небольшую квартиру-студию метров 25, то есть мы понесли материальный ущерб из-за блокирования деятельности кооператива, так как лишены были возможности приобрести квартиру, на которую собрали первоначальный паевый взнос. Работа кооператива заблокирована, счета арестованы уже более двух лет. В наследование пая я только вступаю, так как муж очень долго считался пропавшим без вести — долго шла экспертиза, и свидетельство о смерти мы получили только 18 июня этого года».

    Татьяна — юрист: «Как у юриста у меня происходящее вокруг кооператива вызывает шок, и любой непредвзятый юрист вам скажет то же самое». «Кооператив, — подчеркивает она, — абсолютно прозрачен, он полностью соответствует законодательству о кооперации — что и подтверждалось многократно государственными органами и судами. Если бы мы с мужем не были уверены, что все прозрачно и законно, мы бы не вкладывали в него деньги. Мы не подавали заявление о выходе из кооператива. Я, несмотря ни на что, жду счастливого завершения рукотворного кризиса вокруг кооператива. Для меня это еще и память о муже — он продал долю в квартире, которая ему принадлежала, чтобы вложиться в кооператив. Кроме того, мне хочется понять — до какого маразма может дойти ситуация у нас в государстве в плане незаконных действий в отношении организации, которая по тем или иным причинам не понравилась каким-то чиновникам?».

    «Рассчитываю, что ситуация закончится благополучно»

    Сергей Логинов, рядовой, мобилизованный, представлен к награде «Честь и доблесть».

    «Пять лет назад я стал пайщиком кооператива, участвовал в накопительной программе, планировал прибрести однокомнатную квартиру в Самарской области. Уже нужно было подбирать объект недвижимости и вставать в очередь на покупку, как работа кооператива была заблокирована по инициативе правоохранительных органов, и это продолжается уже более двух лет. По-прежнему надеюсь получить квартиру и рассчитываю, что ситуация закончится благополучно. Поддерживаю кооператив».

    «В кооперативе минимум переплат — несопоставимо с ипотекой»

    Егор Ивков, офицер флота, дирижер военного оркестра, пайщик кооператива с 2019 года.
    «Я нахожусь в накопительной программе — планировал покупку квартиры в Санкт-Петербурге. До постановки в очередь на покупку дело не дошло, но сумма внесена серьезная — и на два года все зависло. Есть друзья-военнослужащие, которые также являются пайщиками и тоже накапливали деньги на первоначальный паевый взнос — они, как и я, не могут ни продолжать накапливать, ни получить деньги обратно, потому что счета арестованы. Отношение наше к ситуации, создавшейся вокруг кооператива, крайне негативное».

    «Кооператив поддерживаю, — говорит пайщик. — Моя сестра живет в квартире, приобретенной с помощью „Бест Вей“ — у нее многодетная семья, сейчас кооперативная квартира переходит в ее собственность. Минимум переплат — несопоставимо с ипотекой. Надеюсь, что ситуация с арестом счетов разрешится в ближайшее время».

  9. Nelsonbluck表示:

    pharmacies in mexico that ship to usa: mexican pharmaceuticals online – buying prescription drugs in mexico

  10. Lazrkrm表示:

    Здравствуйте!
    Приобрести диплом о высшем образовании.
    demo.1c-college.ru/club/user/7/blog/kak-podobrat-nadezhnyy-onlayn-magazin-s-shirokim-vyborom-diplomov

  11. Diplomi_mgEa表示:

    Привет, друзья!
    Заказать документ ВУЗа вы сможете в нашей компании.
    ast-diploms.com/kupit-diplom-kandidata-nauk

  12. Lazrvyv表示:

    Привет, друзья!
    Мы предлагаем дипломы психологов, юристов, экономистов и других профессий по приятным ценам.
    ????.tokyo/купить-диплом-справку

  13. Lazrikm表示:

    Добрый день!
    Мы готовы предложить дипломы любой профессии по разумным тарифам.
    blitzguard.mk/купить-диплом-среднее-образование-эт

  14. Trefvvo表示:

    Здравствуйте!
    Реально ли приобрести диплом стоматолога? Основные этапы
    gaigoimoinhat.xyz/купить-диплом-о-высшем-образовании-со
    Рады оказаться полезными!.

  15. Arnoldten表示:

    purple pharmacy mexico price list п»їbest mexican online pharmacies mexico drug stores pharmacies

  16. Mazrclt表示:

    Привет!
    Узнайте, как приобрести диплом о высшем образовании без рисков
    mandiplomik.ru

  17. WayneCoirl表示:

    medication from mexico pharmacy: reputable mexican pharmacies online – purple pharmacy mexico price list

  18. DominicJaw表示:

    purple pharmacy mexico price list: buying prescription drugs in mexico – medication from mexico pharmacy

  19. WayneCoirl表示:

    medication from mexico pharmacy: mexican rx online – mexico pharmacies prescription drugs

  20. Arnoldten表示:

    medicine in mexico pharmacies mexican border pharmacies shipping to usa mexico drug stores pharmacies

  21. Nelsonbluck表示:

    mexican pharmaceuticals online: buying prescription drugs in mexico online – mexican border pharmacies shipping to usa

  22. Nelsonbluck表示:

    mexico pharmacies prescription drugs: best online pharmacies in mexico – buying from online mexican pharmacy

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。