我需要將十進制值轉換爲它們的小數等效值,類似於此previous question。格式重複小數作爲分數
我使用發佈在其中一個答案中的代碼作爲起點,因爲它大部分都是我所需要的。
string ToMixedFraction(decimal x) {
int whole = (int) x;
int denominator = 64;
int numerator = (int)((x - whole) * denominator);
if (numerator == 0)
{
return whole.ToString();
}
while (numerator % 2 == 0) // simplify fraction
{
numerator /= 2;
denominator /=2;
}
return string.Format("{0} {1}/{2}", whole, numerator, denominator);
}
正如我所說,這個代碼工作正常的大部分,但我需要採取共同的重複十進制值(0.3333333),並顯示給用戶作爲1/3。
有沒有人碰巧知道這可能是怎麼做到的?