2015-02-01 12 views
-2

У меня есть строка длиной до 9 символов, включая необязательную десятичную точку, но все остальные будут числами. Например, это может быть "123456789" или "12.345678".Как преобразовать мою строку?

Какой тип переменной следует преобразовать, чтобы я мог использовать его в вычислениях?

И как это сделать?

+1

Пожалуйста, не просто попросите нас решить проблему за вас. Покажите нам, как _you_ попытался решить проблему самостоятельно, а затем покажите нам _exactly_, каким был результат, и скажите, почему вы считаете, что это не сработало. См. «[Что вы пробовали?] (Http://whathaveyoutried.com/)» за отличную статью, которую вы действительно должны прочитать. –

+0

@JohnSaunders Извините, я буквально начал C# вчера ... и это только мой второй язык программирования. –

ответ

1

Его следует преобразовать в float, double или decimal, в зависимости от того, насколько велики числа.

Вы можете использовать Parse() или TryParse(), чтобы проанализировать строку до арифметического типа.

string numberString = "123456789"; 
double number; 
if (!double.TryParse(numberString, out number)) 
{ 
    // There was an error parsing ... 
    // Ex. report the error back or whatever ... 
    // You can also set a default value for it ... 
    // Ex. number = 0; 
} 
// Use number ... 
+0

Ну, это может быть где угодно между «999999999» и «0,0000001» ' Как выбрать между' Parse() 'и' TryParse() '? –

+0

Двойной может использовать до 16 цифр. Это диапазон «± 5,0 × 10-324 до ± 1,7 × 10308» – Bauss

+0

Итак, почему человек должен использовать 'TryParse()' over 'Parse()'? –

1

Речь идет о точности и потреблении памяти. если точка остаток плавающей важно использовать один из следующих:

  1. поплавок - 4 байта, 7 цифр точности

  2. Double - 8 байт, 15-16 цифр точности

  3. Десятичные - 16 байт, 28-29 цифр точности

 Смежные вопросы

  • Нет связанных вопросов^_^