VB6¥á¥â¡§ÆÈ¼«´Ø¿ô¡§»Í¼Î¸ÞÆþ
ËÜÆü¡¢»Å»ö¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ç·×»»·ë²Ì¤¬¤É¤¦¤·¤Æ¤âÈù̯¤ËÃͤ¬¤º¤ì¤Æ¤·¤Þ¤¦ÉÔ¶ñ¹ç¤¬¤¢¤Ã¤¿¤Î¤Ç¥á¥â¤·¤Æ¤ª¤¤Þ¤¹¡£
»ä¤Ï¤º¤Ã¤ÈRound´Ø¿ô¤¬»Í¼Î¸ÞÆþ¤Î´Ø¿ô¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤É¤¦¤â°ã¤Ã¤¿¤Î¤Ç¤¹¤Í¡£
Ä´¤Ù¤Æ¤ß¤ë¤ÈRound´Ø¿ô¤Ï²¼µ¤Î¤è¤¦¤Êư¤¤ò¤¹¤ë¤è¤¦¤Ç¤¹¡£
Round(1.5)¡¡¢Í¡¡2 Round(2.5)¡¡¢Í¡¡2
¤³¤Î¤è¤¦¤Ë¤Ê¤ê¡¢Round´Ø¿ô¤ÏºÇ¤â¶á¤¤¶ö¿ô¤Ë´Ý¤á¤é¤ì¤ë¤è¤¦¤Ç¤¹¡£
¤³¤ì¤Ç¤Ï¤Á¤ç¤Ã¤Èº¤¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢ÆÈ¼«´Ø¿ô¤òºî¤ê¤Þ¤·¤¿¡£
Round´Ø¿ô¤ÈƱ¤¸¤è¤¦¤Ë¾®¿ô·å¤â»ØÄê¤Ç¤¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
'»Í¼Î¸ÞÆþ(Round¤Ï¶ö¿ô¤Ë¶á¤¤À°¿ô¤òÊÖ¤¹´Ø¿ô¤Î°Ù)
Public Function Round2(ByVal num As Double, Optional ByVal digit As Long = 0) As Double
'°ú¿ô¡§
' num¡§»Í¼Î¸ÞÆþ¤¹¤ë¿ôÃÍ
' digit¡§»Í¼Î¸ÞÆþ¤¹¤ë¾®¿ôÅÀ(¾Êά²Ä)
'ÌáÃÍ¡§
' num¤ò»Í¼Î¸ÞÆþ¤·¤¿ÃÍ
Dim tmpNum As Double
tmpNum = num * 10 ^ digit
If tmpNum > 0 Then
Round2 = Fix(tmpNum + 0.5) / 10 ^ digit
ElseIf tmpNum < 0 Then
Round2 = -Fix(-tmpNum + 0.5) / 10 ^ digit
End If
Exit Function
End Function
¤½¤ó¤Ê¤ËÆñ¤·¤¤¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬²òÀ⤷¤Þ¤¹¤È¡¢»Í¼Î¸ÞÆþ¤·¤¿¤¤ÃͤË0.5¤ò¤·¤ÆFix´Ø¿ô¤Ç¾®¿ôÅÀ°Ê²¼¤òÀÚ¤ê¼Î¤Æ¤Æ¤¤¤Þ¤¹¡£
¤³¤³¤Ç¤ÏÆÈ¼«´Ø¿ô¤òºî¤ê¤Þ¤·¤¿¤¬¡¢¼Â¤ÏFormat´Ø¿ô¤ò»È¤¨¤Ð»Í¼Î¸ÞÆþ¤Ï¤Ç¤¤ë¤½¤¦¤Ç¤¹¡£
¤·¤«¤·Format´Ø¿ô¤Ç¤ÏWindowsXP¤ÎSP¤Ê¤·¤Ç¤ÏÀµ¾ï¤Ëưºî¤·¤Ê¤¤¤é¤·¤¤¤Î¤Ç»È¤¦µ¤¤Ë¤Ê¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤Á¤Ê¤ß¤ËEXCEL´Ø¿ô¤ÎROUND¤Ï»Í¼Î¸ÞÆþ¤é¤·¤¤¤Ç¤¹¡£¡Äʶ¤é¤ï¤·¤¤¤Ê¤¢¡Ä
VB¤ÏExcelVBA¤«¤éÆþ¤Ã¤¿¤Î¤Ç;·×¤Ë´ª°ã¤¤¤·¤Æ¤¤¤Þ¤·¤¿¡£
Application.RoundUp¤È¤«Application.RoundDown¤Ã¤ÆVB´Ø¿ô¤¸¤ã¤Ê¤¯¤ÆExcel´Ø¿ô¤À¤Ã¤¿¤ó¤Ç¤¹¤Í¡£
»Í¼Î¸ÞÆþ¤ÏÎɤ¯»È¤¦¤Î¤Ç¤Á¤ã¤ó¤È³Ð¤¨¤Æ¤ª¤³¤¦¡Ä
- 2008.04.11 Friday
- VB¡¦VBA
- 22:20
- comments(0)
- trackbacks(0)

- by ÆæÇ


