簡體   English   中英

如何在Jscience中獲得完整的單位名稱

[英]How to get full unit name in jscience

我正在使用jscience為我解析一些單位:

    Unit<?> meter = Unit.valueOf("m");
    System.out.println(meter);

    Unit<?> foot = Unit.valueOf("ft");
    System.out.println(foot);

打印輸出:

m
ft

我想打印出來

metre 
foot

或類似的東西。 實際上,我實際上是在讀取這些單位字符串,我無法控制用戶鍵入的內容,因此我希望有人鍵入“ m”,有人鍵入“ metre”。 當將其顯示回來時,我想始終將其顯示為“ Metre”。

[局限性]

該程序是一個大型數據存儲程序,用於存儲許多不同類型的數量。 用戶可以存儲任何數量的任何尺寸(只要在UCUM中定義)。

您可以使用UnitFormat類來指定如何打印這些類。 使用label方法來指定名稱,並使用alias方法來幫助解析。

import java.io.IOException;

import javax.measure.unit.Unit;
import javax.measure.unit.UnitFormat;

public class ScienceUnit {

  public static void main(String[] args) throws IOException {
    Unit<?> meter = Unit.valueOf("m");

    StringBuilder sb = new StringBuilder();
    UnitFormat instance = UnitFormat.getInstance();

    instance.label(meter, "Metre");
    instance.format(meter, sb);

    System.out.println(sb.toString());
  }
}

輸出:

Metre

請注意,如果您從該程序中刪除instance.label行,則輸出為:

m

默認值為您在原始帖子中描述的簡短格式。 我假設默認值是UCUM描述簡短格式值 ,但實際上並沒有檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM