标签: jscience

如何在java中将数字转换为单词

我们目前有一种粗略的机制,可以将数字转换为单词(例如使用一些静态数组),并根据将其转换为英文文本的数字大小.但是我们遇到的问题是巨大的数字.

10183 = Ten thousand one hundred eighty three
90 = Ninety
5888 = Five thousand eight hundred eighty eight
Run Code Online (Sandbox Code Playgroud)

在我可以用于此目的的任何数学库中是否有一个易于使用的函数?

java math numbers jscience

123
推荐指数
7
解决办法
28万
查看次数

是否有任何可用的API来代表各种单位的项目,如KG,升,米,KM等

在我的项目,地方我有一个工作unitOfIssueItems.现在,各种项目当然可以有不同的表示单位.所以,我正在寻找一些API或某种方式,以优雅地处理这种情况.

是否有任何可用的API,它提供了一些表示这些单位的方法?我听说JScience似乎令人印象深刻,但我再次面临着映射它的另一个问题JPA.在一些谷歌工作之后,我发现在这种情况下正在进行一些工作 - JScience-JPA,但似乎在生产中使用它还不稳定.

我也发现了一些关于JSR-275的东西,但是从这个JCP页面看来它似乎已经被拒绝了.

然后我遇到了单位测量,我还没有深入细节.但是,同样的问题也来了.这可以用JPA映射吗?

编辑: -这个SO问题我遇到了带有Unit的Java Numbers,但我不知道它是否已准备好生产.

我真的很困惑,特别是在看到上述选项之后.JPA是一个额外的问题,我是否可以使用它们中的任何一个.有没有人遇到过这样的情况,并找到了解决方法?我真的需要一些帮助.我该怎么用?如果没有其他出路,那么表示这些单位的适当方式是什么.我看到的一种方法是使用enums.但是,当然,这将是最后的选择.

java jpa units-of-measurement jscience

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

应该使用哪个jsr-275单元实现?

JSR 275似乎处于被拒绝状态.JScience似乎有一个实现,似乎有单位的措施.

  1. 还有其他开源实现吗?
  2. 哪个包符合jsr-275且易于使用.

java units-of-measurement jscience

11
推荐指数
2
解决办法
3426
查看次数

如何使Java格式像-3.2而不是-3.1999999999999953?

我的应用程序正在生成Double.toString()生成"-3.1999999999999953"的双打 - 而我希望它生成"-3.2".

我实际上从JScience获得这些双打Amount#getEstimatedValue().

我不想为精度设置任意数量的数字,因为我不知道有多少位数是重要的,但我不希望它产生以"99999999.*"结尾的数字.

如何在没有这个问题的情况下将双打转换为字符串?

java jscience

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

Gradle:如何从JScience jar依赖项中排除javax.realtime包(多个dex定义)

我在我的Android应用程序中使用Gradle,我想使用JScience库依赖项.我这样添加了库:

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')

    compile 'org.jscience:jscience:4.3.1'

    testCompile group: 'junit', name: 'junit', version: '4.11'
}
Run Code Online (Sandbox Code Playgroud)

但是在编译时我收到错误:

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Ljavax/realtime/MemoryArea;
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at com.android.dx.command.dexer.Main.main(Main.java:199)
    at com.android.dx.command.Main.main(Main.java:103)
Run Code Online (Sandbox Code Playgroud)

这是因为javax.realtime项目中的包重复,一个是JDK的一部分,第二个是在Jscience库中.我试图在Gradle中以这种方式从Jscience库中删除此包:

sourceSets {
    main {
        java {
            exclude 'javax/realtime/**'
        }
    }
}

configurations {
    all*.exclude group: 'javax.realtime'
}
Run Code Online (Sandbox Code Playgroud)

但这没有帮助.因此,该包仍然存在于依赖项中. 在此输入图像描述

有没有什么办法可以在编译时从jar中排除一个包?

java dependencies android jscience gradle

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

Java单位的测量库加法和减法返回不正确的值

我正在使用JSR363的参考实现.我尝试了很多这方面的变化,但我会以此代码为例.

ServiceProvider provider = ServiceProvider.current();
QuantityFactory<Length> lengthFactory = provider.getQuantityFactory(Length.class);
Quantity<Length> first = lengthFactory.create(5, Units.METRE.divide(100.0));
Quantity<Length> second = lengthFactory.create(3, Units.METRE);
System.out.println(second.add(first));
Run Code Online (Sandbox Code Playgroud)

这打印503.0米.显然有些东西是非常错误的,这应该是3.05米.我发现很难相信这实际上是图书馆的一个错误,我希望有人可以告诉我我错过了什么.

java jscience jsr363

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

Java - JScience 定义一个新单元

我想在JScience 中定义一个新的距离单位。项目网站的“教程”部分只是指向 Javadoc,它虽然相当完整,但对我来说有点过于密集,无法理解我实际上是如何定义自己的单元的。

你能举个例子吗?

干杯。

皮特

java units-of-measurement jscience

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