Почему это не работает?C# Math Issue With Division
DiscountedPrice = 10
double DiscountedPrice = ((double)percentDiscounted/100);
Это приводит к 0 не 0,1, как я ожидал.
Почему это не работает?C# Math Issue With Division
DiscountedPrice = 10
double DiscountedPrice = ((double)percentDiscounted/100);
Это приводит к 0 не 0,1, как я ожидал.
Это должно работать должным образом, если вы пробовали это.
int percentDiscounted = 10;
double discountedPrice = percentDiscounted/100.0;
Console.WriteLine(discountedPrice);
Вы можете неявно преобразовать int
в double
, нет необходимости, чтобы бросить его.
Также вы можете использовать double
или int
тип для percentDiscounted
.
Выход
0,1
вы имели в виду установить 'percentDiscounted' в верхней части, а не' DiscountedPrice'? – tabstop
Пожалуйста, покажите короткую, но полную программу, демонстрирующую проблему. И, пожалуйста, не используйте 'double' для значений валюты: вместо этого используйте' decimal'. (Было бы странно, если * цена * была бы 'percentDiscounted'/100, кстати. Это пропорция * скидки, а не цена.) –
Работает для меня. Fiddle: http://dotnetfiddle.net/CUoaWL – McAden