也許我只是今天沒睡夠,今天想的不夠清楚:
我有大數字,并且我有一個 Exp“大數字名稱”陣列。我想獲取大數的指數,然后將大數顯示為十進制值 大數標簽。
string[] exponent =
{
"Mil",
"Bil",
"Tri",
"Qua",
"Qui",
"Sex",
"Sep",
"Oct",
"Non",
};
double value = 1230000000;
if(value > 1000000)
{
int pow = (int)(value / 1000000);
res = value.ToString("#.##") exponent[pow] ;
}
我想要的預期輸出是:
12.3 億
但我顯然沒有正確轉換價值。
uj5u.com熱心網友回復:
使用以 10 為底的對數將為您提供最接近該數字的 10 的冪,但您需要四舍五入到最接近 3 的 10 的冪的倍數(您真的想要以 1000 為底的對數)。
然后你需要除以value1000 的冪來得到匹配的尾數:
string res;
if(value >= 1e6) {
int pow = ((int)Math.Log10(value))/3;
res = (value/Math.Pow(10, 3*pow)).Dump().ToString("#.##") exponent[pow-2] ;
}
else
res = value.ToString();
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469258.html
上一篇:當x?=N時找到x的值的遞回程式
