2012-02-14 64 views
0

你永遠做一個舍入這樣的:非常不尋常的舍入

  • [0.95,1)舍入到1
  • [0.90,0.95)舍入到0.95
  • [0.85,0.90)舍入到0.90
  • [0.80,0.85)舍入到0.85

我試着這樣做:

double rounded = Math.round(x * 20.0)/20.0; 

但其四捨五入有點不同,例如,它四捨五入爲0.91〜0.90,我更需要它0.91四捨五入到0.95

回答

5

數你正在尋找可以通過

  1. 乘以發現您的電話號碼減20。
  2. 計算您的電話號碼。
  3. 由20
  4. 添加0.05

例如,&lfloor除以你的電話號碼; 0.95 * 20⌋/20 + 0.05 =⌊ 19⌋/20 + 0.05 = 0.95 + 0.05 = 1.00。

在Java:

double result = Math.floor(x * 20.0)/20.0 + 0.05; 

希望這有助於!

+0

再次感謝兄弟,你真棒) – 2012-02-14 04:35:37