Разделение в VB.NET показывает только целое число

Я делаю простой код калькулятора, и когда я делаю деление, я хочу, чтобы он показывал не только целое число, но и десятичное число. Это мой код подразделения:

 get1.Text = Int(mygive.Text \ rate.Text)

Я также пробовал:

get1.Text = Int(mygive.Text / rate.Text)

Я хочу, чтобы он показывал такие числа: 2060.0891.

Заранее спасибо!


person koolboy5783    schedule 23.03.2013    source источник


Ответы (4)


Вам нужно преобразовать числа в Double перед выполнением деления. CDbl является подходящей функцией преобразования типов для этого:

Dim answer = CDbl(mygive.Text) / CDbl(rate.Text)
get1.Text = answer.ToString()
person Reed Copsey    schedule 24.03.2013

Ваш Int преобразует все в целые числа. Попробуйте преобразовать в двойное.

person chue x    schedule 23.03.2013

Он показывает только целую часть числа, потому что вы объявляете Integer, чего недостаточно, так как он может только хранить целые числа.

Вам нужно использовать тип данных Double.

Кроме того, вы пытаетесь применить арифметические операции к Strings, что недопустимо. Вам нужно преобразовать эти строки в тип Double, прежде чем вы сможете сделать с ними /.

person user123    schedule 24.03.2013
comment
VB самостоятельно преобразует строку в число и обратно. Так что только если конвертация невозможна, будет выдана ошибка. - person Fabio; 24.03.2013

Используйте преобразование в Double/Decimal

с функцией помощи VB:

get1.Text = CDec(mygive.Text / rate.Text).ToString()

с функцией .NET

get1.Text = Convert.ToDecimal(mygive.Text / rate.Text).ToString()
person Fabio    schedule 24.03.2013
comment
Пожалуйста, объясните, каков ожидаемый результат оператора / при применении к двум строкам - person Steve; 24.03.2013
comment
@Steve, VB автоматически преобразует строку в числа, если код ожидает этого (используя функции преобразования справки (CStr, CInt, CDbl, CDec) - person Fabio; 24.03.2013
comment
Это верно, только если вы отключите OPTION STRICT ON. И это действительно катастрофа, ожидающая своего часа. codinghorror.com/ блог/2005/08/ - person Steve; 24.03.2013