[DanoR][Java小碼][進制轉換::將double轉換爲不一樣進制後用String輸出]

功能簡述
java

進制轉換
輸入: 一個數(double),目標進制(int)和小數的保留位數(int)
輸出: 相應進制的表示方式(String)code

參數說明class

double    number;      //將要被轉換的數
int            ary;             //目標進制
int            accuracy;    //指定小數保留的位數

特性
static

  • 支持小數轉換
    例0: (5.20, 8, 4) --> 5.146314631463146315
  • 可控制輸出的小位數
    例0: (5.20, 10, 4) --> 5.3334
    例1: (5.20, 10, 6) --> 5.333334
  • 如有效的小數位比預控制的小數位要小,則按有效小數位輸出.
    例0: (5.875, 8, 2) --> 5.7
    例1: (5.875, 8, 3) --> 5.7

代碼co

pulic class DanoR_Gist001
    public static String HexConvert(double number, int ary, int accuracy)
    {
        int z = (int)number;
        double x = number - z;

        String r = "";

        for(;z>0;z/=ary)
            r = (char)(z%ary>9?z%ary+55:z%ary+48)+r;

        if(x != 0.0)
            r += '.';

        for(int i=0;i<accuracy&&x!=0.0;i++)
        {
            r += (char)((x*=ary)>9?x+55:x+48);
            x -= (int)x;
        }

        return r;
    }
}
相關文章
相關標籤/搜索