我正在阅读“Head First C#”一书,在其中一章我创建了一个程序并使用声明为整数和小数的变量。 Visual Studio对我进行了几次关于混合和匹配两者的问题。例如:
dinnerParty.NumberOfPeople = (int) numericUpDown1.Value;
NumberOfPeople声明为int,显然数字updowns是小数。
此外,这本书在将一些数字加在一起时会将M放在一些数字之后。例如:
public void SetHealthyOption(bool healthy)
{
if (healthy)
{
CostOfBeveragesPerPerson = 5.00M;
}
else
{
CostOfBeveragesPerPerson = 20.00M;
}
}
CostOfBeveragesPerPerson声明为小数。
所以我有两个具体的问题:
1)你怎么知道什么时候需要施展?我确信有很多东西可以投射......有人能提供一些很好的链接来学习铸造吗?
2)数字之后的M是什么?
修改的
所以M表示数字是小数而不是双数。为什么不直接将数字转换为十进制数:(十进制)50.00?什么是“功能”叫什么?如果我想看看哪些“字母”可用,我会谷歌吗?
答案 0 :(得分:6)
答案 1 :(得分:3)
Type Suffix Example
uint U or u 100U
long L or l 100L
ulong UL or ul 100UL
float F or f 123.45F
decimal M or m 123.45M
有很多页面可以解释C# numeric literals.最后的字母不是演员或任何类型的函数。语法显示您正在编写的内容表示特定类型的值。所以写(十进制)5.0使用强制转换,但写入5.0m则不然。
答案 2 :(得分:2)
decimal
,否则会认为它是double