ÀÚ¹Ù½ºÅ©¸³Æ® °è»ê ¿À·ù°¡ ³ª´Â ¿øÀÎÀÌ ¹º°¡¿ä?

   Á¶È¸ 3658   Ãßõ 0    

어제 부가세 계산하는데 .. 

결과가 이상해서 보니 

27500 원에서 부가세 2500 원을 빼려고 

27500 / 1.1 이렇게 계산하면 25000 원이 나와야 하는데

자바스크립트에서는 24999.999999999996

게 나와버리네요 검색해보니 toFixed를 사용하면 된다고 하는데 

일단 fixed를 하긴 했는데 매번 저렇게 해줘야 하나요 ?

원천적으로 해결하는 방법은 없을까요? 올림내지 반올림 되는 느낌이던데 ㅜㅜ

왜 저런 오류가 생기는건가요 .?

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
¼ýÀÚ¸¦ ºÎµ¿¼Ò¼öÁ¡À¸·Î ó¸®Çؼ­ ±×·±´Ù°í Çϳ׿ä.

ÀÚ¹Ù½ºÅ©¸³Æ® ¹è¿ï ¶§ ¼ýÀÚ°è»ê¿¡ ¹®Á¦°¡ ÀÖ´Ù°í ¹è¿ì±ä Ç߳׿ä.
     
±èÁ¦¿¬ 2020-01
¾Æ .. ¿äÁòµé¾î ±×³É go ¾ð¾î·Î °¬À¸¸é ´õ ÁÁ¾ÒÀ»°Í °°´Ù´Â »ý°¢ÀÌ ¸¶±¸ µì´Ï´Ù.  ¤Ì¤Ì
ÄݹéÇïºÎÅÍ ¿¬»ê ±îÁö... ¤Ì¤Ì null °ª 󸮵µ ½Å°æ ½áÁà¾ß ÇÏ°í ..
Çä ºÎ°¡¼¼»©¸é 2õ5¹é1¿ø...
ÂùÀÌ 2020-01
IEEE754¸¦ »ç¿ëÇÏ´Â ¾ð¾î´Â ¸ðµÎ ÇØ´çÇÏ´Â ¹®Á¦ÀÔ´Ï´Ù.
(¸ðµç ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ±×·¸´Ü °Ì´Ï´Ù. goµµ ¸¶Âù°¡ÁöÀÏ°Å °°½À´Ï´Ù)

´Ü¼øÇÑ ¿¹·Î 0.1+0.2 != 0.3 ÀΰÅÁÒ.

À̸¦ ÇØ°áÇϱâ À§Çؼ± ¹Ý¿Ã¸²À» Çϰųª ȤÀº °íÁ¤¼Ò¼öÁ¡ ¿¬»êÀ» ÇÏ¸é µË´Ï´Ù.

°íÁ¤ ¼Ò¼öÁ¡ ¿¬»êÀº ((27500 * 10) / (1.1 * 10)) / 10 °ú °°ÀÌ °íÁ¤ ¹è¼ö¸¦ °öÇØ ¼Ò¼öÁ¡À» ¾ø¾Ø ÈÄ Á¤¼ö¿¬»êÀ» ÇÏ´Â °ÅÁÒ.
´Ù¸¸ Á¤È®µµ¸¦ ³ôÀ̱â À§ÇØ Å« ¼ö¸¦ °öÇÏ´Â °æ¿ì range°¡ ÀÛ¾ÆÁ® ¿À¹öÇ÷ΰ¡ ³¯ ¼ö ÀÖÀ¸´Ï ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­´Â bignumber.js³ª bigintµîÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Âü°í·Î ÀÚ¹Ù½ºÅ©¸³Æ®´Â 2^53-1~-2^53±îÁö Á¤¼öÇ¥ÇöÀÌ °¡´ÉÇÏÁö¸¸ ¿¬»ê ½Ã 32bitÅ©±âÀ̸鼭 ÃÖ»óÀ§ºñÆ®°¡1ÀÎ ¼ýÀÚ´Â À½¼ö󸮵Ǿî¹ö¸®´Â À̽´°¡ ÀÖ½À´Ï´Ù.
µû¶ó¼­ 2¾ï´ë~4¾ï´ë ¼ýÀÚ¸¦ ¿¬»êÇÏ¸ç ¿Ã¹Ù¸£°Ô Ç¥ÇöÇÏ·Á¸é bignumberµîÀ» »ç¿ëÇÏ½Ã´Â°Ô ¾ÈÀüÇÕ´Ï´Ù.
     
±èÁ¦¿¬ 2020-01
go ¾ð¾î´Â Áö±Ý Å×½ºÆ® Çغôµ¥ ..
var test int = 27500 / 11;
25000 ¿ø Á¦´ë·Î ³ª¿À³×¿ä .. ŸÀÔ°ªÀÌ int ÇüÀÌ¶ó¼­ ±×·±°Ç°¡¿ä?
ÀÚ¹Ù½ºÅ©¸³Æ®´Â int·Î °¡Á®¿Íµµ ..
parseInt(27500/1.1)
24999
ÀÌ·± °á°ú°¡ ³ª¿À±¸¿ä ..
          
ÂùÀÌ 2020-01
³× goÀÇ int´Â ºÎµ¿¼Ò¼öÁ¡ Çü½ÄÀÌ ¾Æ´Õ´Ï´Ù.
ÀÚ¹Ù½ºÅ©¸³Æ®´Â ¼ýÀÚÇüÀº ÀÚµ¿À¸·Î ÆÇ´ÜÇÏ¿© Á¤¼ö/ºÎµ¿¼Ò¼öÁ¡ Çü½ÄÀ¸·Î ¹Ù²ò´Ï´Ù.


QnA
Á¦¸ñPage 1121/5686
2015-12   1508372   ¹é¸Þ°¡
2014-05   4972038   Á¤ÀºÁØ1
2013-04   7926   ȸ¿øK
2016-10   7926   ÇÑÁø¾Æºü
2018-04   7926   ±è°Ç¿ì
2004-07   7926   ÀÌÁ¦¿î
2007-03   7925   ¹æÈ¿¹®
2009-06   7925   ¹Ú»ó¹ü
2020-09   7924   º´µû°³´Ô
2015-02   7924   ³ª¸ô¶ó1
2004-01   7924   ±è°Ç¿ì
2009-05   7924   Èû³»ÀÚ
2011-05   7924   Àü¿µ½Å
2010-05   7924   Â÷Æò¼®
2004-11   7924   ¹®º´Ã¤
2004-06   7924   ±è±â¹ü
2004-04   7923   ÀÌâȣ
2004-03   7923   ÇÔ¹®¼ö
2009-07   7923   ·Î±×¾Æ¿ô
2015-11   7923   ǪÇÏÈ÷
2020-08   7923   ¿µ»êȸ»ó
2010-05   7923   À嵿°Ç2014