小编mik*_*rry的帖子

Java 11 和 Java 8 DecimalFormat 行为之间的差异

我在 Java 11 上遇到了一个奇怪的问题。我正在移植一个巨大的项目,我有一些使用 DecimalFormat 的测试在 11 构建上失败,但在 8 构建上没有。

Java 11 中的 DecimalFormat 给了我一个逗号小数点分隔符,而在 Java 8 上它给了我一个点。

这是一个最小的可重现示例:

import java.text.DecimalFormat;

public class Test {

  public static void main(String[] args) {
    DecimalFormat format = new DecimalFormat("#0.00");
    System.out.println(format.format(1.02));
  }
}
Run Code Online (Sandbox Code Playgroud)

1.02在 Java 8 和1,02Java 11 上输出。

这是使用两个版本构建和运行示例的整个终端会话:

~ » sdk use java 8.0.282.hs-adpt

Using java version 8.0.282.hs-adpt in this shell.

~ » javac -version 
javac 1.8.0_282

~ » javac Test.java                                   

~ » java -version                                                                                                                                                                                                       
openjdk version "1.8.0_282" …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-11

4
推荐指数
1
解决办法
477
查看次数

CMake + MSys2 对所有内容(包括 C++ 运行时)的未定义引用

我正在开发一个跨平台的 C++ 项目。在 Linux 上一切正常,但在 Windows (10) + MSys2 上我遇到了一个奇怪的问题。编译工作正常(获取我的包含目录等),但链接失败,并出现对我拥有的静态导入库甚至 C++ 运行时的各种未定义引用错误。

我尝试设置 CMAKE_C[XX]_COMPILER、CMAKE_MAKE_PROGRAM,但配置步骤的输出始终相同:

$ cmake ..
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
System is unknown to cmake, create:
Platform/MINGW64_NT-10.0-19041 to use this system, please post your config file on discourse.cmake.org so it can be added to cmake
-- Detecting C compiler ABI info
System is unknown to cmake, create:
Platform/MINGW64_NT-10.0-19041 to use this system, please post your config file …
Run Code Online (Sandbox Code Playgroud)

c++ mingw cmake mingw-w64

1
推荐指数
1
解决办法
3463
查看次数

标签 统计

c++ ×1

cmake ×1

java ×1

java-11 ×1

java-8 ×1

mingw ×1

mingw-w64 ×1