这是让我发布这个问题的代码.
// int integer;
// int fraction;
// double arg = 110.1;
this.integer = (int)(arg);
this.fraction = (int)((arg - this.integer) * 100);
Run Code Online (Sandbox Code Playgroud)
变量integer正在变化110.没关系.
变量fraction正在增加9,但我期待10.
怎么了?
更新
我似乎发现问题的根源是减法
arg - this.integer
结果是0.099999999999994316.
现在我想知道我应该如何正确地减去以便得到结果0.1.
我有以下代码:
var purchaseItems = this.GetMenuItemRows().Select(
a => a.DishListItemRow.GetDishIngredientRows().Select(
b => b.PurchaseItemRow));
Run Code Online (Sandbox Code Playgroud)
LINQ 表达式正在返回类型的结果 IEnumerable<IEnumerable<PurchaseItemRow>>
我如何获得类型的结果IEnumerable<PurchaseItemRow>?