2013-09-15 7 views
0

Просто выбрал программирование как хобби, и я очень плохой. Я пытаюсь создать базовый конвертер валют из книги, которую у меня есть.Конвертер валют VB.Net - Есть ли более простой способ?

Мой вопрос: есть ли лучший способ, чем использовать ввод пользователя (скажем, 5 долларов), преобразовать текстовую строку в double, умножить на скорость и затем преобразовать ее обратно в строку, чтобы отобразить это в другом текстовом поле? Я в основном спрашиваю, потому что учебник не сказал, как преобразовать double в строку еще, и я нашел его в сети, но я чувствую, что что-то не хватает.

Благодаря

+1

Это примерно так же просто, как и получается. Вы скорее спросите, как преобразовать двойную строку в строку? Если это кажется трудным, покажите нам код, который вы используете. Возможно, вы что-то немного переборщили. – Brad

+1

"учебник не сказал, как преобразовать double в строку еще" - 'Dim d As Double = 123.456 Dim s As String = d.ToString()' –

+0

Спасибо за помощь ребятам и код. Теперь работает. Я был в основном смущен, потому что мой учебник заканчивает пример проблемы с txtCurrencyOutput.Text = CurrencyVar и CurrencyVar является двойным. Не знаете, как они это вытащили, когда я попытался, я получил ошибку. – John

ответ

2

Всякий раз, когда вы работаете с деньгами, используйте Decimal типа. Он работает так же, как Double во всех отношениях, за исключением того, что Double не является на 100% точным для определенных арифметических операций. Decimal немного медленнее, но это точный, и когда вы работаете с деньгами, точность почти всегда важнее.

учебник не сказал, как преобразовать двойной строки еще

Это легко:

'The "D" at the end is a special code that means it's a Decimal literal value 
Dim d As Decimal = 12345.67D 
Dim s As String = d.ToString() 

Going другое направление не намного сложнее:

Dim d2 As Decimal = Decimal.Parse(s) 
+0

'когда вы работаете с деньгами, точность почти всегда важнее.', Когда это не так? Я бы подождал минуты для обработки калькуляции, если бы это означало, что мне заплатили правильную сумму или меньше заплатили. :-) Просто любопытно, что кто-то, кто работает с деньгами, не будет доверять точности над всем остальным. –

+0

Я изменил на десятичную – John

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