无法在 C# 中计算 Long 数据类型
Cannot calculate Long Data type in C#
我不知道为什么输出为 0。请帮我找出我在 C# 中更正长数据类型计算的错误。为了使它更容易,我几乎所有的变量都在 long 中,但即便如此,代码也没有按预期工作。
long data_user;
long GB;
long MB;
long kB;
long bits;
long bits_rem;
double giga_C;
double mega_c;
double kilo_C;
double byte_C;
double sub_tot;
Console.Write("\nEnter the number of bytes used: ");
data_used = Console.Read();
//Divide data into each units.
GB = data_user / 1073741824;
giga_C = Convert.ToDouble(15.00 * GB);
MB = bits_rem / 1045214;
mega_C = (6.05 * MB);
kB = bits_rem / 10002;
kilo_C = (3.50 * kB);
bits = bits_rem / 0.1;
bits_C = (0.01 * bits);
sub_tot = (giga_C + mega_C + kilo_C + byte_C);
Console.Read
从控制台读取下一个字符,因此您总是得到较小的数字除以较大的数字(在 整数 算术中为零)。例如,您写 1234
,但 Console.Read
returns 49
因为 '1'
的 Unicode 点是 49
。然后你尝试用 49
除以 1073741824
显然得到 0
.
您需要读取您的值如下Convert.ToInt64(Console.ReadLine())
我不知道为什么输出为 0。请帮我找出我在 C# 中更正长数据类型计算的错误。为了使它更容易,我几乎所有的变量都在 long 中,但即便如此,代码也没有按预期工作。
long data_user;
long GB;
long MB;
long kB;
long bits;
long bits_rem;
double giga_C;
double mega_c;
double kilo_C;
double byte_C;
double sub_tot;
Console.Write("\nEnter the number of bytes used: ");
data_used = Console.Read();
//Divide data into each units.
GB = data_user / 1073741824;
giga_C = Convert.ToDouble(15.00 * GB);
MB = bits_rem / 1045214;
mega_C = (6.05 * MB);
kB = bits_rem / 10002;
kilo_C = (3.50 * kB);
bits = bits_rem / 0.1;
bits_C = (0.01 * bits);
sub_tot = (giga_C + mega_C + kilo_C + byte_C);
Console.Read
从控制台读取下一个字符,因此您总是得到较小的数字除以较大的数字(在 整数 算术中为零)。例如,您写 1234
,但 Console.Read
returns 49
因为 '1'
的 Unicode 点是 49
。然后你尝试用 49
除以 1073741824
显然得到 0
.
您需要读取您的值如下Convert.ToInt64(Console.ReadLine())