2014-11-01 5 views
0

Как конфертировать в C# a double с 1,77 до 1,77?C# - Как преобразовать, в

У меня есть текст ввода 1,77, и я хочу заменить на 1.77.

Я попытался

alturaaux =Convert.ToDouble(altura2).ToString(#,##); 

, но без успеха.

+0

этот вопрос может помочь вам http://stackoverflow.com/questions/4076789/converting-double-to-string-with-n-decimals-dot- as-decimal-separator-and-no-th – jandresrodriguez

+1

Зачем конвертировать в double? Используйте собственный метод String.replace: http://msdn.microsoft.com/en-us/library/czx8s9ts(v=vs.110).aspx. У вас нет * double * для начала. – usr2564301

+0

Почему вы получаете 1,77? Является ли это культурой (т. Е. Многие европейские культуры используют ',' как десятичный разделитель). Если вы храните что-то действительно десятичное в виде строки, возможно, вам стоит взглянуть на его преобразование во время хранения, когда вы находитесь в правильной культуре. –

ответ

2

Вы можете сначала перенести его в строку, чем заменить запятую на точку.

string entered = "1,77"; 
string doubleString = entered.Replace(',', '.'); 

if(Double.TryParse(doubleString, out number)) 
    return number; 
else 
    return null; 
+0

+1 за правильное предложение, хотя все это можно сделать в одной строке. – Rahul

+0

Он сказал, что собирается ввести пользовательскую валюту своего региона, поэтому я сломал его достаточно, чтобы он понял, плюс я считаю, что он обманывает домашнее задание, поэтому лучше заставляйте его смотреть на больше кода, чем нужно. –

0

использование TryParse метод как

double ret; 
double.TryParse("1,77".Replace(",", "."), out ret); 
Смежные вопросы