在C#中,以下代码返回2: double d = 2.9; int i = (int)d; Debug.WriteLine(i); 然而,在Javascript中,将“double”转换为“int”的唯一方法是使用Math.round / floor / toFixed等。有没有方法可以在不使用舍入的情况下转换为Javascript中的intforms? 我知道Number()的性能影响,所以我宁愿避免将其转换为string,如果可能的话。
是否有一个OCaml库可以利用IA-32和x86-64体系结构上的80位扩展精度浮点types? 我知道MPFR绑定,但我理想的库会更轻。 利用历史浮点指令将是理想的。
我怎样才能检查一个floatvariables是否包含一个整数值? 到目前为止,我一直在使用: float f = 4.5886; if (f-(int)f == 0) printf("yes\n"); else printf("no\n"); 但是我想知道是否有更好的解决scheme,或者这个解决scheme有没有什么缺点。
基本上,我将一个浮点数转换为一个整数,但我并不总是有预期的价值。 这里是我正在执行的代码: x = 2.51 print("——— 251.0") y = 251.0 print(y) print(int(y)) print("——— 2.51 * 100") y = x * 100 print(y) print(int(y)) print("——— 2.51 * 1000 / 10") y = x * 1000 / 10 print(y) print(int(y)) print("——— 2.51 * 100 * 10 / 10") y = x * 100 * 10 / 10 […]
我怎样才能将一个浮点数乘以目标C中的下一个整数值? 1.1 -> 2 2.3 -> 3 3.4 -> 4 3.5 -> 4 3.6 -> 4 1.0000000001 -> 2
我使用下面这行将float转换为int,但不如我想要的那么精确: float a=8.61f; int b; b=(int)a; 结果是: 8 (应该是9 ) 当a = -7.65f ,结果是: -7 (应该是-8 ) 什么是最好的办法呢?
这是一个基本的问题,但我找不到答案。 我研究过浮点算术和其他几个主题,但似乎没有解决这个问题。 我确定我只是有错误的术语。 基本上,我想采取两个数量 – 完成和总计 – 并将它们分成一个百分比(已完成多less)。 数量很long 。 这是设置: long completed = 25000; long total = 50000; System.out.println(completed/total); // Prints 0 我尝试重新分配结果到一个双 – 打印0.0 。 我哪里错了? 顺便说一句,下一步是把这个结果乘以100,这个小跨度跨越后,我认为应该很容易。 顺便说一句,这里没有作业,只是普通的老式的数字(也许今天编码太多)。