C# c语言中的字符串十进制转换

C# c语言中的字符串十进制转换,c#,C#,请问如何将c中的字符串从2位小数转换为5位小数 比如,;我正在尝试使用C将12.14转换为12.14000,您需要的是一个ToString参数: 12.14.ToString("#.00000") ->12.14000查看字符串类的PadRight方法。描述 例如: using System; public class Program { static public void Main() { string a = "12.14"; stri

请问如何将c中的字符串从2位小数转换为5位小数


比如,;我正在尝试使用C将12.14转换为12.14000,您需要的是一个ToString参数:

12.14.ToString("#.00000")
->12.14000查看字符串类的PadRight方法。描述

例如:

using System;

public class Program
{
    static public void Main()
    {
        string a = "12.14";

        string newA = a.PadRight(8, '0');

        Console.Write(newA);
    }
}
结果:

12.14000

此代码始终填充到点后的5个位置:

using System;

public class Program
{
    static public void Main()
    {
        string a = "332.143";

        int padLen = (5 - (a.Length - a.IndexOf('.') - 1)) + a.Length;

        string newA = a.PadRight(padLen, '0');

        Console.WriteLine(newA);        
    }

}
结果:

332.14300


在末尾加上000,如果它肯定始终是2位小数…数值12.14是否已经在数字数据类型中?或者它真的是一个字符串?这是行不通的,因为需要根据值填充不同数量的零,比如1.22需要7,122.44需要9。12.24的例子实际上需要8才能得到12.24000。@juharr这个例子不是解决方案。我不想做我想帮助的所有家庭作业。你有没有费心去测试它,因为正如我所说的,这对给定的例子都不起作用。@juharr现在起作用了-如果原始值已经是字符串,则不是。@juharr如果原始值已经是字符串,则最佳解决方案仍在将其解析为float/double,然后使用参数。实际上,如果OP知道字符串始终有两位小数,则最佳解决方案只是将000连接到末尾,就像Jon Skeet一样提到。问题是这个问题缺少很多细节。我会告诉你,如果这个数字已经是一个字符串,如果它总是小数点后两位,那么是的。但这是一个非常具体的场景,没有考虑可能的异常情况。