.NET 中使用類似於 Java Math.nextUp

一.前言

最近在做的工作需要 .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 源碼,然後自己實現了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章