gpt4 book ai didi

javascript - 将 javascript 双按位转换为 C#

转载 作者:行者123 更新时间:2023-12-03 01:40:07 25 4
gpt4 key购买 nike

如何在 C# 中不使用 double 按位转换 double 值。我有方法 javascript 使用双位

var i= 0.0008590;
var j= 0.000002;
~~(i / j) * j
console.log(i );
/*
i=0.0008579999999999999
*/

最佳答案

JavaScript 中的双补码是一种将值转换为 32 位整数的技巧,其中小数部分被 chop (不是上限或下限,而是四舍五入到零)。 C# 有用于此类转换的显式语法:(int)value

var i = 0.0008590;
var j = 0.000002;
var result = (int)(i / j) * j;
Console.WriteLine(result);

结果约为 0.000858

或者您可以省略类型转换方面并仅 chop :

var i = 0.0008590;
var j = 0.000002;
var result = Math.Truncate(i / j) * j;
Console.WriteLine(result);

一个优点是,它不会对导致 i/j 超出整数范围的输入产生奇怪的行为。

关于javascript - 将 javascript 双按位转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50884608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com