最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java計(jì)算字符串公式的方式解讀

 更新時(shí)間:2022年12月12日 09:18:09   作者:南獨(dú)酌酒nvn  
這篇文章主要介紹了Java計(jì)算字符串公式的方式解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何計(jì)算字符串公式

解決方案一

使用 commons-jexl3 jar 包

可以使用 commons-jexl3 jar包,此 jar 包提供了一些方法用于計(jì)算字符串中的公式。

maven 依賴如下:

<dependency>
?? ?<groupId>org.apache.commons</groupId>
?? ?<artifactId>commons-jexl3</artifactId>
?? ?<version>3.1</version>
</dependency>

示例代碼:

	@Test
    public void test03() {
        String expressionString = "27.0/10";
        JexlEngine jexlEngine = new JexlBuilder().create();
        JexlExpression jexlExpression = jexlEngine.createExpression(expressionString);
        Object evaluate = jexlExpression.evaluate(null);
        System.out.println(evaluate);
    }

運(yùn)算結(jié)果如下:防止精度丟失,計(jì)算的公式中最起碼要存在一個(gè)精度數(shù)值,如果可以盡量使用字符串的替換方法 replaceAll 替換公式中的某一個(gè)數(shù)值為精度值,這樣則不會(huì)出現(xiàn)精度丟失問題。

解決方案二

使用 JDK 底層調(diào)用 javaScript 的運(yùn)算公式 (推薦使用)

JDK 自帶的類可以實(shí)現(xiàn)調(diào)用 JS 的功能,可以實(shí)現(xiàn)執(zhí)行字符串中的運(yùn)算公式的功能,示例代碼如下:

	@Test
    public void test04() throws ScriptException {
        ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
        String strs = "27/10";
        System.out.println(jse.eval(strs));
    }

結(jié)果如下:使用這種方案可以直接避免精度丟失,如果公式中存在變量作為運(yùn)算的元素,可以使用字符串的 replaceAll 方法來(lái)進(jìn)行替換。

替換方式示例代碼如下:

	@Test
    public void test04() throws ScriptException {
        ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
        String strs = "1+b";
        strs = strs.replace("b", "9");
        System.out.println(jse.eval(strs));
    }

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java多線程編程制作電子時(shí)鐘

    java多線程編程制作電子時(shí)鐘

    本文給大家匯總了幾個(gè)使用java多線程編程實(shí)現(xiàn)的電子時(shí)鐘的代碼,思路非常的巧妙,也都很實(shí)用,有需要的小伙伴可以參考下。
    2015-11-11
  • java代碼實(shí)現(xiàn)MD5加密及驗(yàn)證過程詳解

    java代碼實(shí)現(xiàn)MD5加密及驗(yàn)證過程詳解

    這篇文章主要介紹了java代碼實(shí)現(xiàn)MD5加密及驗(yàn)證過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 解析Runtime中shutdown hook的使用詳解

    解析Runtime中shutdown hook的使用詳解

    本篇文章是對(duì)解析Runtime中shutdown hook的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 詳解springboot采用多數(shù)據(jù)源對(duì)JdbcTemplate配置的方法

    詳解springboot采用多數(shù)據(jù)源對(duì)JdbcTemplate配置的方法

    在本篇文章中我們給大家詳細(xì)分享了springboot采用多數(shù)據(jù)源對(duì)JdbcTemplate配置的方法,有需要的朋友們可以學(xué)習(xí)參考下。
    2018-10-10
  • java8 toMap問題(key重復(fù)如何解決)

    java8 toMap問題(key重復(fù)如何解決)

    這篇文章主要介紹了java8 toMap問題(key重復(fù)如何解決),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 基于Java將Excel科學(xué)計(jì)數(shù)法解析成數(shù)字

    基于Java將Excel科學(xué)計(jì)數(shù)法解析成數(shù)字

    這篇文章主要介紹了基于Java將Excel科學(xué)計(jì)數(shù)法解析成數(shù)字,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java基礎(chǔ)教程之final關(guān)鍵字淺析

    Java基礎(chǔ)教程之final關(guān)鍵字淺析

    這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之final關(guān)鍵字的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 微信小程序后端Java接口開發(fā)的詳細(xì)步驟

    微信小程序后端Java接口開發(fā)的詳細(xì)步驟

    現(xiàn)在微信小程序越來(lái)越火了,相信不少人都通過各種途徑學(xué)習(xí)過微信小程序或者嘗試開發(fā),本文就介紹了微信小程序后端Java接口開發(fā)的詳細(xì)步驟,感興趣的同學(xué)可以學(xué)習(xí)一下
    2021-11-11
  • Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(圖文)

    Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(圖文)

    這篇文章主要介紹了Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-12-12
  • 詳解FileInputStream讀取文件數(shù)據(jù)的兩種方式

    詳解FileInputStream讀取文件數(shù)據(jù)的兩種方式

    這篇文章主要介紹了詳解FileInputStream讀取文件數(shù)據(jù)的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評(píng)論

湖州市| 东兰县| 布拖县| 上思县| 乳山市| 麟游县| 昌黎县| 喀什市| 泉州市| 邳州市| 阿荣旗| 同仁县| 漯河市| 柳河县| 岐山县| 常宁市| 武隆县| 北海市| 濉溪县| 察隅县| 台南市| 湖南省| 凤台县| 宁明县| 运城市| 光山县| 镇江市| 泸溪县| 铁岭市| 周宁县| 南溪县| 沙湾县| 盐源县| 两当县| 马山县| 皋兰县| 武穴市| 涿鹿县| 嘉祥县| 获嘉县| 宿松县|