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

   Á¶È¸ 3669   Ãßõ 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 1122/5687
2014-05   4988445   Á¤ÀºÁØ1
2015-12   1524454   ¹é¸Þ°¡
2006-04   5710   ÇѸí¼ö
2003-11   9776   ±è±â¹ü(dc3v)
2008-02   5369   À¯À翵
2002-08   12428   Á¤¿ë¼·
2008-10   4745   °æÁر¸
2003-02   11978   °í´ëÁØ
2003-09   9934   ¹ÚÁ¾¹Î
2006-09   9108   ¾ÈÇü°ï
2004-11   8048   ÀåÁø¼ö
2007-11   12282   ÃÖ¹®½Ä
2002-08   13145   ¹èÀçÈï
2003-10   10431   ¿°È£Á¤
2006-06   5475   ÃÖÁøȯ
2004-03   8701   ½ÅÁø¿ì
2004-04   7586   ÃÖ¹Îö
2007-03   4759   ½ÅÇöµ¿
2005-01   6616   °û¹Î±¹
2002-06   14958   Á¶´öÁø
2008-03   5607   °­ÇѼº
2008-11   5590   ±è°Ç¿ì