2013-12-20 56 views
0

我已经尝试过:如何将小数转换为三元?

Convert.ToString(123, 3); 

但给了我一个System.ArgumentException: Invalid Base

是否有另一种方式做到这一点?

+2

@MaxMommersteeg [不仅仅是](http://en.wikipedia.org/wiki/Ternary_numeral_system) – Rawling

回答

0

您可以使用此标准算法:

public static String ToTrenary(int value) { 
    if (value == 0) 
    return ""; 

    StringBuilder Sb = new StringBuilder(); 
    Boolean signed = false; 

    if (value < 0) { 
    signed = true; 
    value = -value; 
    } 

    while (value > 0) { 
    Sb.Insert(0, value % 3); 
    value /= 3; 
    } 

    if (signed) 
    Sb.Insert(0, '-'); 

    return Sb.ToString(); 
} 
+0

不就是'Insert'把号码前负号? – Rawling

+0

@Rawling:感谢您的更正! –

相关问题