- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 - 17
 - 18
 - 19
 - 20
 - 21
 - 22
 - 23
 - 24
 - 25
 - 26
 - 27
 - 28
 - 29
 - 30
 - 31
 - 32
 - 33
 - 34
 - 35
 - 36
 - 37
 - 38
 - 39
 - 40
 - 41
 - 42
 - 43
 - 44
 - 45
 - 46
 - 47
 
public string ConvDoubToStr(double doub)
        {
            string str = ((int)doub).ToString();
            double k = (doub - (int)doub);
            if (k > 0)
                str += ",";
            while (k > 0)
            {
                k = k * 10;
                switch ((int)k)
                {
                    case 0:
                        str += "0";
                        break;
                    case 1:
                        str += "1";
                        break;
                    case 2:
                        str += "2";
                        break;
                    case 3:
                        str += "3";
                        break;
                    case 4:
                        str += "4";
                        break;
                    case 5:
                        str += "5";
                        break;
                    case 6:
                        str += "6";
                        break;
                    case 7:
                        str += "7";
                        break;
                    case 8:
                        str += "8";
                        break;
                    case 9:
                        str += "9";
                        break;
                }
                k = k - (int)k;
            }
            return str;
 
        }
                                
 Follow us!
"инетересно,что операция k = (doub - (int)doub) при doub=123.123 дала: k=0.12300000000000466, при том что сам (int)doub, естественно, равнялся 123 ровно."
"связано это с тем,что тип дабл "понимает" 15 знаков после запятой, но не больше. поэтому там в конце чушь и получается. "
Тип жжёт
"String.Format("{0:F10}",s).TrimEnd( del)
честно сказать, я не уверен, что это будет работать быстрее,чем мой конвертер."
Конвертер Попова, скоро, на каждом школьном компьютере.
вместо str += ","; надо написать что-то вроде
ds = system.localization.getCurrentCulture(). getDeceminalSeparator();
switch (dc)
{
case ".":
str += ",";
break;
case ",":
str += ".";
break;
case default:
str += ",";
}
брать сепаратор не функцией, а свичем по каррент калчер.
ну и конечно сделать аутпут красивее. сам сепаратор вставлять между каждой триадой в целой части.