相关疑难解决方法(0)

使用逗号和点将字符串解析为double

我正在尝试编写一个函数,它基本上将字符串数组转换为字符串数组,其中数组中的所有双精度数都舍入为我设置的小数位数.数组中也可以有字符串,它们根本没有双重值.

string[,] values = new string[1, 3];

values[0, 0] = "hello";
values[0, 1] = "0.123";
values[0, 2] = "0,123";

int decimalPlaces = 2;

double tmp;
string format = "F" + decimalPlaces.ToString();
IFormatProvider provider = CultureInfo.InvariantCulture;
for (int i = 0; i < values.GetLength(0); i++)
{
    for (int j = 0; j < values.GetLength(1); j++)
    {
        if (double.TryParse(values[i, j], out tmp))
        {
            values[i, j] = tmp.ToString(format, provider);
        }
    }
}

Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

结果必须是:"你好","0.12","0.12",但它是"你好","123.00","0.12"将以错误的方式对待逗号.有没有人有一个简单而有效的解决方案?

c#

55
推荐指数
6
解决办法
14万
查看次数

显示浮点到文本框的类型为“数字”

关于将文本框字符串转换为浮点值或允许类型为“ number”的文本框允许使用小数点的问题很多,但是,我似乎找不到与显示浮点值相关的任何内容类型设置为“数字”的文本框。

到目前为止,我所拥有的是一个文本框,其类型为“ number”和step =“ 0.01”。最小值也为“ 0”。它显示如下:

<asp:TextBox ID="TextBox1" runat="server" TextMode="Number" step="0.01" Width="140px" min="0"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

它可以很好地用于用户输入,并且可以将数据毫无问题地保存到变量/数据库中。但是,如果我想向用户显示相同的值,它将不显示任何内容,甚至不显示“ 0”。

所以我的问题是:如何将值从“ float”中取出,将其转换为“ string”,然后将其应用于Textbox.Text,以便显示值?

例如:如果我在“文本框”中将值设置为“ 5”,它将保存并显示“ 5”,但是如果我输入“ 5.5”或“ 5,5”,则无论哪种方式,它都不会显示,我需要它显示“ 5.5”。

有任何想法吗?

PS:应该代表货币价值。如果可能的话,我也希望有一个不需要Javascript的解决方案。

c# asp.net floating-point textbox

6
推荐指数
1
解决办法
2万
查看次数

如何将负字符串转换为十进制值?

我试图将负字符串转换为"-23.27"小数点值,而问题有时候我会在括号内得到负值"(23.27)".

我已经编写了控制括号的代码并以负格式获取小数点值,但是当"-23.27"它运行相同的代码时,它返回的输入字符串格式不正确错误.这是我的代码.任何帮助,将不胜感激.

decimal ValueN = (decimal.Parse("-23.27", 
                  System.Globalization.NumberStyles.AllowParentheses | 
                  System.Globalization.NumberStyles.AllowLeadingWhite | 
                  System.Globalization.NumberStyles.AllowTrailingWhite | 
                  System.Globalization.NumberStyles.AllowThousands));
Run Code Online (Sandbox Code Playgroud)

c#

5
推荐指数
1
解决办法
8231
查看次数

标签 统计

c# ×3

asp.net ×1

floating-point ×1

textbox ×1