When you want to break the result of a method below in C #, it is best to force it to return What's the way a double value instead of the default integer
(int) math Siling ((Double) (System.DateTime.DaysInMonth (2009, 1) / 7)); As you can see, I need a split to double return, so I can use the roof function.
two int one division of numbers int Returns, decreases any decimal point, it is generally true for other data types: arithmetic operations do not change their operating type.
To implement a certain return type, you have to convert the operations appropriately. In your special case, there is really enough to convert an operator to double : In this way, C # will automatically display the conversion for other operating.
You've got options: You can clearly convert operands either. However, the second operand is a literal , it is better to just correct the correct word.
This is either a type of suffix (in the case of D in the double ) or a decimal point behind it The latter method is generally preferred in your case:
Math.Ciling (System.DateTime.DaysInMonth (2009, 1) / 7.0); Note that this decimal point notation always generates an double to create float You will need to use a prefix: 7f .
This behavior of fundamental operators is similar to almost all languages, there is a notable exception from the way: VB, where division operator usually generates double is a special integer division operator ( \ ), if that conversion is not desired. Another exception to C ++ is the odd one: the difference between two points of the same type is a ptrdiff_t . It makes sense, but it breaks the schema that the operator always produces the same type of operand. Specifically, subtracting two unsigned int to not generate a signed int .
Comments
Post a Comment