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...

101,039 Responses

  1. Dnrtebg表示:

    Здравствуйте!
    Приобрести документ университета вы сможете в нашей компании в Москве.
    ast-diplomas24.ru/otzyvy
    Хорошей учебы!

  2. RobertDup表示:

    купить новостройку от застройщика https://kvartiru-kupit43.ru

  3. Diplomi_njEa表示:

    Добрый день!
    Заказать документ о получении высшего образования вы можете у нас.
    ast-diploms.com/kupit-diplom-tehnikuma-kolledzha 

  4. GregoryVom表示:

    https://indibeti.in is a premier online casino offering a wide array of games including slots, table games, and live dealer options. Renowned for its user-friendly interface and robust security measures, Indibet ensures a top-notch gaming experience with exciting bonuses and 24/7 customer support.

  5. TerryZessy表示:

    купить 1 квартиру в новостройке https://kvartiranew43.ru

  6. Timothytib表示:

    купить двухкомнатную квартиру в новостройке купить двухкомнатную квартиру в новостройке

  7. Mazrrgr表示:

    Привет!
    Как быстро и легально купить аттестат 11 класса в Москве
    prikol100500.ru/vash-diplom-byistro-nadezhno-kachestvenno

  8. Michaelnuarm表示:

    The fascinating story of Ja Morant’s https://spain.atletico-madrid-ar.com meteoric rise, from status from rookie to leader of the Memphis Grizzlies and rising NBA superstar.

  9. DavidNot表示:

    The future football star Shabab Al-Ahly https://dubai.shabab-al-ahli-ar.com was born in Dubai in 2000. From a young age, he showed exceptional football abilities and joined the youth academy of one of the UAE’s leading clubs, Shabab Al-Ahly.

  10. JamesLog表示:

    Galatasaray https://turkey.galatasaray-ar.com is one of the most famous football clubs in Turkiye, with a glorious and eventful history.

  11. Georgefiemn表示:

    In the world of football, Atletico Madrid https://spain.atletico-madrid-ar.com has long been considered the second most important club in Spain after the dominant, Real Madrid.

  12. секс училки и ученика https://sex-s-uchilkami.ru .

  13. порно тренер трахнул девушку pornotrenery.ru .

  14. секс с училкой бесплатно https://www.sex-s-uchilkami.ru .

  15. смотреть секс с училкой http://www.sex-s-uchilkami.ru .

  16. Georgetub表示:

    שתפנק אותך ותגרום לך להרגיש טוב. אם אין לך תכניות לסוף השבוע, אתה חייב לנסות נערות ליווי בתל אביב. במקום להיות לבד בבית, הזמן רבות בהייטק ואין להם זמן לצאת עם בחורות. לפעמים אלו הם גברים נשואים או חיילי מילואים. דירות דיסקרטיות בחיפה הן מקום שבו אפשר נערות ליווי VIP

  17. Lazrayd表示:

    Привет!
    Мы изготавливаем дипломы любых профессий по разумным ценам.
    brightcartridges.org/wp/2024/06/30/купить-диплом-в-воткинске/

  18. Dnrtihw表示:

    Привет!
    Купить документ о получении высшего образования вы можете у нас.
    diplomasx24.ru/kupit-diplom-ekaterinbur
    Хорошей учебы!

  19. Dnrtcnx表示:

    Добрый день!
    Заказать документ о получении высшего образования можно в нашей компании.
    ast-diplomy24.ru/kupit-diplom-nizhnij-novgorod
    Успехов в учебе!

  20. Diplomi_gwEa表示:

    Добрый день!
    Купить документ о получении высшего образования можно в нашем сервисе.
    ast-diplom.com/kupit-diplom-o-vysshem-obrazovanii 

  21. JamesBak表示:

    buy doxycycline india: doxycycline 100mg best buy – doxycycline 100mg capsule sale

  22. Michaeldiola表示:

    AC Milan https://italy.milan-ar.com is one of the most successful and decorated football clubs in the world.

  23. CharlesHok表示:

    Ремонт плоской кровли https://remontiruem-krovly.ru в Москве, цена работы за 1 м?. Прайс лист на работы под ключ, отзывы и фото.

  24. ThomasDyday表示:

    печать буклетов краснодар https://salavat-rik.ru

  25. StevenAlelm表示:

    Thai Company Directory https://thaicorporates.com List of companies and business information.

  26. Uazrfyz表示:

    Здравствуйте!
    Купить диплом ВУЗа.
    gaysocial.gay/read-blog/82

  27. Uazrseu表示:

    Привет!
    Заказать диплом университета.
    d91652pj.beget.tech/2024/07/07/sluzhba-podderzhki-i-faq-zakazyvaem-dokumenty-v-internete.html

  28. Willienus表示:

    МВД против участников СВО

    Питерский главк МВД сделал Колокольцева пустозвоном и предателем Родины

    Так называемое уголовное дело «Лайф-из-Гуд» – «Гермес» – «Бест Вей», состряпанное питерским главком МВД России совместно с рядом сотрудников ЦБ, выглядит весьма невзрачно – особенно на фоне громких заявлений, звучавших от руководителей Министерства внутренних дел на всю страну: сотни миллиардов ущерба, десятки тысяч «пострадавших». И при этом только 221 гражданин, признанный следствием потерпевшим, с суммой ущерба отнюдь не в миллиарды, а в 282 млн рублей. Ложь прозвучала из уст министра Колокольцева с трибуны Совета Федерации, его пресс-секретарь Волк разместила лживые сведения во всех федеральных СМИ.

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

    При этом уже более двух лет сначала по ходатайству ГСУ ГУ МВД по Санкт-Петербургу, а затем Прокуратуры Санкт-Петербурга арестованы 4 млрд. на счетах кооператива, хотя ущерб в обвинительном заключении – 282 млн рублей, и даже (незаконная) обязанность выплатить его в отношении кооператива никак не повлияла бы на его ликвидность. Однако цель – правдами и неправдами забрать именно 4 млрд.

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

    Среди этих пайщиков – сотни участников СВО, которые защищают Родину с оружием в руках – но в тылу по отношению к ним совершается преступление: их пытаются лишить жилья и денег.

    Преступная следственная группа

    Уголовное дело дурно пахло изначально. Выяснилось, что «нулевая» потерпевшая Наталья Школьник, с которой началось уголовное дело, не сама подала заявление в правоохранительные органы – оперуполномоченный УЭБиПК ГУ МВД по Санкт-Петербургу майор полиции Алексей Машевский ездил к ней за заявлением в Республику Коми: то есть дело было срежиссировано. Кстати, Школьник на заседании Приморского районного суда отказалась от статуса потерпевшей по этому уголовному делу, который был ей присвоен следствием.

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

    За уголовным делом стоит альянс силовиков и мошенников – преступное сообщество под эгидой МВД. Силовики предложили мошенникам силовой ресурс для рейдерского захвата, чтобы отнять имущество кооператива и вместе поделить.

    Любопытно, что относительно недавно одна из экс-членов следственной группы – майор юстиции Зайцева, была поймана вместе с коллегой на взятке в 8 млн. рублей, которую они вымогали по другому уголовному делу.

    Следственную группу возглавляла майор, затем подполковник юстиции Екатерина Сапетова (по завершении расследования она уволилась из МВД) – систематически занимавшаяся подлогом сама и организовывшая подлог с помощью подчиненных следователей. Ее дело продолжил новый руководитель следственной группы – замначальника ГСУ ГУ МВД по Санкт-Петербургу полковника юстиции Александр Винокуров (Сапетова формально перешла на позицию его заместителя). Он издал постановление о признании кооператива гражданским ответчиком по уголовному делу на 16 млрд рублей – заведомо подложное, так как в уголовном деле вообще не оказалось исковых требований к кооперативу.

    Следствие совершило и другие преступления.

    Взятие заложников. Следственные действия были завершены в июне 2023 года притворно – чтобы не выпускать из тюрьмы обвиняемых, от которых следствие добивалось показаний. Если бы следствие было продлено в июне прошлого года, их пришлось бы отпустить, так как в августе у четверых обвиняемых истекал предельный срок содержания под стражей.

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

    Чтобы держать их в заложниках – и добиваться оговора других граждан в обмен на изменение меры пресечения.

    Притворное завершение следственных действий. Фактически следственные действия не завершались – они продолжались весь период, когда происходило ознакомление обвиняемых с материалами уголовного дела, что также является грубейшим нарушением УПК. В результате количество потерпевших уже в период финальных процессуальных мероприятий в рамках предварительного расследования, накануне передачи обвинительного заключения в прокуратуру для утверждения, увеличилось с 198 до 221.

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

    Неисполнение решений судов. Неисполнение судебных постановлений – уголовное преступление, на которое следствие шло несколько раз.

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

    Принуждение граждан к тому, чтобы они подали заявления в качестве потерпевших. Группу потерпевших собирали более трех лет, набрали только из 221 человека, хотя количество клиентов компании «Гермес», в отношении которой выдвигаются претензии, по данным самого следствия, более сотни тысяч. При этом среди потерпевших есть немало тех, кто предъявляет претензии на суммы менее 100 тыс. – то есть набирали для количества.

    «Потерпевшие» не имеют никаких внятных претензий к «Гермесу» – все их претензии в основном оказываются ложью, за которую они ответят после окончания суда.

    Объявление безналичных денежных средств кооператива вещественным доказательством, хотя это прямо противоречит постановлению Конституционного суда, запрещающего объявлять вещдоками нематериальные активы: вещественными доказательствами могут быть только вещи, на которых могут оставаться следы преступления.

    Заведомо необоснованные требования о возмещении ущерба. По инициативе следственной группы двое «потерпевших» в октябре прошлого года написали заявления о моральном ущербе на 1 млрд рублей каждое. Это заведомо ничтожные заявления – вызвавшие смех в зале Приморского районного суда, потому что суды по событиям, не связанным с причинением смерти, присуждают моральный ущерб в размере нескольких десятков тысяч максимум.

    Именно члены оперативно-следственной группы и их кураторы из питерского главка МВД и федерального МВД, а не 10 ни в чем неповинных людей – технических сотрудников или родственников руководителей компании «Лайф-из-Гуд» – должны сидеть на скамье подсудимых.

    Питерская прокуратура покрывает преступления

    Печально, но на все эти нарушения не отреагировала Прокуратура Санкт-Петербурга. В деле есть показания так называемых потерпевших о том, что они получали доход по счетам «Виста» – то есть факт кражи опровергается их собственными показаниями.

    Есть две бухгалтерские экспертизы криминалистического центра Минюста: в обеих утверждается, что 81% средств кооператива «Бест Вей» шел на приобретение недвижимости, а 19% – на обеспечение деятельности кооператива: маркетинговые траты, налоги, зарплаты сотрудникам и пр. При этом средства на эти нужды шли не из паевых средств кооператива, а из вступительных и членских взносов – получается, что паевые средства на 100% расходовались на покупку недвижимости для пайщиков. То есть бухгалтерские эксперты Минюста подтвердили, что в деятельности кооператива не было вывода средств пайщиков.

    Таким образом, само следствие положило в дело полный комплект документов, который полностью опровергает его выводы обвинения. Именно поэтому после передачи дела и обвинительного заключения в прокуратуру адвокаты обвиняемых и адвокаты кооператива призывали прокуроров вернуть дело на доследование. Но прокуратура не прислушалась – и без стеснения поддерживает государственное обвинение по этому липовому делу.
    Военные требуют наказать горе-правоохранителей
    Такие подручные министра Колокольцева, как начальник питерского главка МВД генерал Плугин, превратили полицейское ведомство в антинародное образование, которое уничтожает экономику, честный бизнес, разоряет налогоплательщиков.

    Сам министр Колокольцев врет Совету Федерации, врет правительству, врет Президенту – врет, врет и врет, выдумывает громкие дела с помощью своей помощницы Ирины Волк и других членов собственной команды.

    Более того, ведомство выступило против армии и участников СВО, нанося им прямой ущерб в тылу. Действия МВД вредят обороноспособности и подрывают престиж военной службы.

    Военные требуют наказать горе-правоохранителей, попирающих их права, и обращают на это внимание нового министра обороны Андрея Белоусова. Вся мафиозная группировка – Сапетова, Винокуров, Машевский, начальник ГСУ питерского главка МВД Негрозов, начальник ГУ МВД по Петербургу и их кураторы и «крыша» в Москве – замначальника Следственного департамента МВД Вохмянин, пресс-секретарь министра Волк, замминистра по следствию Лебедев, сам министр Колокольцев – должна предстать перед судом, и их надо судить по законам военного времени.

    А узники, почти три года томящиеся в тюрьме без приговора суда, должны быть срочно отпущены.

    Надеемся, суд восстановит справедливость в этом деле, освободит невиновных и накажет тех, кто действительно совершил преступления против граждан и страны.

發佈留言

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