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

   Á¶È¸ 3629   Ãßõ 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 1115/5680
2015-12   1482975   ¹é¸Þ°¡
2014-05   4946309   Á¤ÀºÁØ1
2007-03   4901   ±è»ó¿í
2008-02   5012   ±èÇÊ°ï
2008-02   5226   ±èÀ±Èñ
2008-03   5568   ¹ÚÇö±Ù
2008-04   8135   ¹æÈ¿¹®
2002-08   14504   Á¤»óÈÆ
2005-12   4988   ÃÖâÇõ
2006-05   4674   ±èº´¿ì
2016-05   3995   ½ÅÀº¿Ö
2008-01   10784   À¯»ç¿ë
2008-02   5079   ÀÓÁø¿í
2004-05   7380   ÀÌÇÐÇö
2004-08   7240   À̺´Çü
2007-11   4677   À̽ÂÈÆ
2005-10   5585   ¼­ÅÂÈñ
2009-01   5022   À±´ö°æ
2004-12   7546   ÀüÇüÈÆ
2007-10   4985   ¿ÀÀçÈ£
2002-08   13324   Àü¿ëÁø
2005-07   5636   À̼®È£