.NET 中使用类似于 Java Math.nextUp

本文最后更新于:2022年9月29日 下午

一.前言

最近在做的工作需要 .NET 和 Java 功能对齐,在 Java 方面使用了一个科学 API: Math.nextUp,在 .NET 中并没有同名的方法。

二.解决

具有相同功能的 API,.NET 里是有的叫做 Math.BitIncrement()。但是只支持 Core >= 3.0

image-20220729155842138

而我的项目是一个 .NET Standard 2.0 的类库项目,由于业务原因我不能直接更改目标框架。如何解决呢?继续往后看。

API 的含义

image-20220729161141211

办法

我采用了比较粗暴的办法,直接 Copy 源码:runtime/Math.cs at main · dotnet/runtime (github.com)

测试了输出结果是一样的,问题解决!

三.总结

Math.BitIncrement() 是时总(https://www.cnblogs.com/Incerry) 帮我找出来的,也学到了解决这种问题的思路,先去 MS Docs 查一下 API。防止 API 在不同框架之间的差异造成时间的浪费。要是真的没有都打算自己撸一下 jdk 源码,然后自己实现了。


.NET 中使用类似于 Java Math.nextUp
https://zhiqiang.li/posts/51471.html
作者
李志强
发布于
2022年7月29日
许可协议