Skip to content

數值 Numeric

YenLin Wu edited this page Oct 22, 2020 · 6 revisions
  • 隨機產生一個整數 Generate random number

int_Number = New Random().Next( 下限, 上限 )
e.g. New Random().Next( 1, 10 ) 為隨機產生一個介在 1 到 10 的整數

  • 字串轉換成數值 String to Numeric

dbl_Number = Convert.ToDouble( str_Number )
int_Number = Convert.ToInt16( str_Number )
int_Number = Convert.ToInt32( str_Number )
int_Number = Convert.ToInt64( str_Number )

  • 千分符號數字 Number format with decimal separator
  1. 轉成帶千分符號的數字 e.g. 123456789 -> 123,456,789

str_Number = Convert.ToDecimal( int_Number ).ToString( "#,###" )

  1. 移除千分符號 e.g. 123,456,789 -> 123456789

int_Number = Convert.ToInt32( str_Number.Replace(",","") )

  • 布林值轉換成整數 Boolean to Integer
  1. True 轉成 1

int_True = Convert.ToInt32( True )

  1. False 轉成 0

int_False = Convert.ToInt32( False )

  • 餘數 Remainder

Mod 函數
e.g. 10 Mod 3 = 1

  • 進位 Round
  1. 四捨五入 1.2345 -> 1.235

dbl_Number = Math.Round( dbl_Number, 3, MidpointRounding.AwayFromZero )

  1. 四捨六入五成雙
    若取位的最後一位數的下一位數為 5 :
    (i) 5 的再下一位沒有其他數字,進位與否則看 5 的前一位數字,奇數進位偶數捨去,
    例如 : 1.2345 進位到小數點以下第三位為 1.234、3.1415 進位到小數點以下第三位為 3.142。
    (ii) 5 的再下一位有其他數字,則 5 會進位(與四捨五入相同),例如 : 3.14159 進位到小數點以下第三位為 3.142。

dbl_Number = Math.Round( dbl_Number, 2 )
dbl_Number = Math.Round( dbl_Number, 2, MidpointRounding.ToEven )

  • 無條件捨去 Round down
    e.g. 11/3 的無條件捨去為 3

dbl_Number = Math.Floor( dbl_Number )

  • 無條件進位 Round up
    e.g. 10/3 的無條件進位為 4

dbl_Number = Math.Ceiling( dbl_Number )

References