Преобразовать строку в число с плавающей точкой в ​​ASP.Net Controller - PullRequest
0 голосов
/ 25 января 2019

В Asp.Net C # MVC Controller я хочу преобразовать строку в число с плавающей запятой с помощью этого кода:

string test1 = "7.8";
float test2 = float.Parse(test1);

Результат теста2 равен 78, а не 7.8.Что я должен сделать, чтобы получить результат 7.8?

Ответы [ 4 ]

0 голосов
/ 07 апреля 2019

@ Sxntk скажи мне в комментарии,

Ваш десятичный разделитель не "."Это "," Это ваши локальные настройки окружающей среды.Должно работать с "7,8"

0 голосов
/ 25 января 2019

Как сказал Sxntk, вероятно, ваши настройки требуют вместо "."таким образом, решение было бы проанализировать это как другую культуру как испанское, мы используем "."вместо ","

float.Parse(test1,new CultureInfo("EN-ES"))

вам также понадобится

using System.Globalization;
0 голосов
/ 25 января 2019

Попробуйте, вы получите 7,8

string test = "7.8";
float test2 = float.Parse(test, System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine(test2);
0 голосов
/ 25 января 2019

Попробуйте ниже:

string test1 = "7.8";    
float test2 = Single.Parse(test1);

Пожалуйста, прочитайте больше: https://docs.microsoft.com/en-us/dotnet/api/system.single.parse?view=netframework-4.7.2

...