国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      公式處理方法及裝置的制造方法_2

      文檔序號(hào):9865486閱讀:來(lái)源:國(guó)知局
      信息中還可以包括最后修改人信息、最后修改時(shí)間等輔助信息。
      [0062]通常,計(jì)算模式包括公式計(jì)算模式和函數(shù)計(jì)算模式。本發(fā)明實(shí)施例中,由用戶通過(guò)交互界面自定義的公式的計(jì)算模式為公式計(jì)算模式。
      [0063]在得到預(yù)編譯文本后,可以生成并保存公式信息,以便于調(diào)用該公式。
      [0064]本發(fā)明實(shí)施例提供的公式處理方法,在用戶輸入符合用戶語(yǔ)法的公式文本后,自動(dòng)將公式轉(zhuǎn)換為符合預(yù)設(shè)表達(dá)式語(yǔ)法的預(yù)編譯文本,并保存公式信息。使得用戶在編輯公式時(shí),只要輸入符合用戶語(yǔ)法的公式文本,系統(tǒng)就可以自動(dòng)將公式文本轉(zhuǎn)換為符合底層語(yǔ)法要求的文本,從而簡(jiǎn)化了用戶操作,方便用戶編輯公式,降低了出錯(cuò)率。
      [0065]可選的,本發(fā)明實(shí)施例提供的判斷接收到的公式文本是否符合用戶語(yǔ)法的一種實(shí)現(xiàn)流程圖如圖2所示,可以包括:
      [0066]步驟S21:對(duì)公式文本進(jìn)行預(yù)處理,將公式文本中的中文標(biāo)點(diǎn)字符轉(zhuǎn)換為英文標(biāo)點(diǎn)字符;
      [0067]本發(fā)明實(shí)施例中,為便于用戶操作,允許用戶輸入中文標(biāo)點(diǎn)字符,即允許用戶在全角狀態(tài)下輸入標(biāo)點(diǎn)字符等。也就是說(shuō),本發(fā)明實(shí)施例中,用戶不必關(guān)注當(dāng)前輸入狀態(tài)是半角輸入狀態(tài)還是全角輸入狀態(tài),用戶既可以在全角狀態(tài)下輸入標(biāo)點(diǎn)字符,也可以在半角狀態(tài)下輸入標(biāo)點(diǎn)字符。進(jìn)一步簡(jiǎn)化用戶操作。
      [0068]具體可以根據(jù)預(yù)置的中文標(biāo)點(diǎn)字符與英文標(biāo)點(diǎn)字符的對(duì)應(yīng)關(guān)系將中文標(biāo)點(diǎn)字符轉(zhuǎn)換為英文標(biāo)點(diǎn)字符。例如,若用戶在公式文本中輸入中文標(biāo)點(diǎn)的逗號(hào)“,”,則根據(jù)預(yù)置的中文標(biāo)點(diǎn)字符與英文標(biāo)點(diǎn)字符的對(duì)應(yīng)關(guān)系,將公式文本中的中文標(biāo)點(diǎn)的逗號(hào)“,”替換為英文標(biāo)點(diǎn)的逗號(hào)“,”;同理,若用戶在公式文本中輸入中文標(biāo)點(diǎn)的括號(hào)“O”,則根據(jù)預(yù)置的中文標(biāo)點(diǎn)字符與英文標(biāo)點(diǎn)字符的對(duì)應(yīng)關(guān)系,將公式文本中的中文標(biāo)點(diǎn)的括號(hào)“O”替換為英文標(biāo)點(diǎn)的括號(hào)“O”。
      [0069]步驟S22:對(duì)預(yù)處理后得到的字符串進(jìn)行逐詞讀取,每讀取一個(gè)詞,判斷所讀取的詞是否是關(guān)鍵詞或自定義變量,若是關(guān)鍵詞或自定義變量,則確定所讀取的詞符合用戶語(yǔ)法;否則確定公式文本不符合用戶語(yǔ)法。
      [0070]具體,本發(fā)明實(shí)施例中,關(guān)鍵詞可以分為兩類,其中一類關(guān)鍵詞以字母開始,由字母組成,或者,由字母和數(shù)字組成,如函數(shù)名;另一類以非字母開頭,如數(shù)字、運(yùn)算符、括號(hào)等。而自定義變量由用戶命名,系統(tǒng)無(wú)法自定義,但命名規(guī)則同第一類關(guān)鍵詞一致。
      [0071]基于上述關(guān)鍵詞定義,本發(fā)明實(shí)施例中,在識(shí)別關(guān)鍵詞的過(guò)程中,可以根據(jù)首字母是否為字母來(lái)分別判斷:
      [0072]若所讀取的詞是以字母開頭,則讀取完整的單詞,判斷這個(gè)單詞是否是系統(tǒng)定義的關(guān)鍵詞(主要是系統(tǒng)定義的函數(shù)),是關(guān)鍵詞,則確定該單詞符合用戶語(yǔ)法要求,否則,將所讀取的詞當(dāng)作自定義變量處理。本發(fā)明實(shí)施例中,用戶自定義變量也要以字母開頭。
      [0073]若所讀取的詞不是以字母開頭,則判斷該字符是否是系統(tǒng)定義的關(guān)鍵詞(主要是數(shù)字、運(yùn)算符、括號(hào)等),若是關(guān)鍵詞,則確定該詞是符合用戶語(yǔ)法要求的,否則確定預(yù)處理后的字符串不符合用戶語(yǔ)法要求。
      [0074]在確定所讀取的詞符合用戶語(yǔ)法要求后,可以繼續(xù)讀取下一個(gè)詞,按照上述方法判斷所讀取的詞是否是關(guān)鍵詞,直至預(yù)處理后得到的字符串被讀取完成。
      [0075]當(dāng)然,若確定預(yù)處理后的字符串不符合用戶語(yǔ)法要求,且預(yù)處理后的字符串還未讀取完成,可以不再讀取下一詞。
      [0076]也就是說(shuō),若所讀取的詞既不是關(guān)鍵詞,又不是自定義變量,則該詞不符合用戶語(yǔ)法要求,預(yù)處理后的字符串中只要有一個(gè)詞不符合用戶語(yǔ)法要求,該預(yù)處理后的字符串就不符合用戶語(yǔ)法要求。
      [0077]可選的,本發(fā)明實(shí)施例提供的若公式文本符合用戶語(yǔ)法,將公式文本轉(zhuǎn)換為符合預(yù)設(shè)表達(dá)式語(yǔ)法的預(yù)編譯文本的一種實(shí)現(xiàn)流程圖如圖3所示,可以包括:
      [0078]步驟S31:若所讀取的詞為關(guān)鍵詞,獲取與所讀取的關(guān)鍵詞對(duì)應(yīng)的配置信息;
      [0079]可以在判斷出所讀取的詞為關(guān)鍵詞時(shí),獲取與所讀取的關(guān)鍵詞對(duì)應(yīng)的配置信息。也可以在確定預(yù)處理后的字符串符合用戶語(yǔ)法要求時(shí),再讀取與預(yù)處理后的字符串中的每個(gè)關(guān)鍵詞匹配的配置信息。
      [0080]配置信息中記錄有用戶語(yǔ)法與底層語(yǔ)法(即預(yù)設(shè)表達(dá)式語(yǔ)法,如OGNL或SPEL表達(dá)式語(yǔ)言的語(yǔ)法等)。
      [0081 ] 舉例說(shuō)明,比如要定義bigdecimalAdd這樣一個(gè)數(shù)學(xué)函數(shù),傳入2個(gè)參數(shù),且都是BigDecimal類型,是com.1jy.BigDecimalOpUtiI這個(gè)類的add方法來(lái)實(shí)現(xiàn)的,那么配置示例如下:
      [0082]keyword.bigdecimalAdd = funct1nParser
      [0083]sysfunc.bigdecimalAdd=icom.1jy.BigDecimalOpUtiliadd
      [0084]funcParmCount.bigdecimaIAdd = 2
      [0085]通過(guò)這幾行配置信息,就可以知道:
      [0086]第一行:等號(hào)左邊,keyword.bigdecimalAdd,通過(guò) keyword指定了 bigdecimalAdd是一個(gè)關(guān)鍵詞;等號(hào)右邊,指定了解析這個(gè)函數(shù)需要使用的解析器,funct1nParser為解析器的名稱。
      [0087]第二行:等號(hào)左邊,sysfunc.bigdecimalAdd,通過(guò)sysfunc指定了bigdecimalAdd是一個(gè)系統(tǒng)函數(shù);等號(hào)右邊,@類全限定名@方法名,是OGNL調(diào)用方法的語(yǔ)法格式,所以指定了對(duì)應(yīng)的類全限定名是com.1jy.BigDecimalOpUtil,方法名是add。
      [0088]第三行:等號(hào)左邊,funcParmCount.bigdecimalAdd,通過(guò)funcParmCount指定了bigdecimalAdd的參數(shù)個(gè)數(shù);等號(hào)右邊,指定了bigdecimalAdd的參數(shù)是2個(gè)。
      [0089]有了以上配置信息,就可以調(diào)用配置信息中定義的解析器對(duì)所讀取的詞進(jìn)行解析。解析器在解析時(shí)碰到bigdecimalAdd字符串,就能正確識(shí)別到這是一個(gè)關(guān)鍵詞,而且是一個(gè)系統(tǒng)函數(shù),參數(shù)必須是2個(gè),否則提示用戶配置錯(cuò)誤。解析成功,通過(guò)第二行的類全限定名,可以調(diào)用到具體的java方法(即哪個(gè)類的哪個(gè)方法),得到函數(shù)的返回結(jié)果。
      [0090]步驟S32:基于所述配置信息中定義的解析器對(duì)所讀取的詞進(jìn)行解析,以將所述公式文本轉(zhuǎn)換為符合預(yù)設(shè)表達(dá)式語(yǔ)法的預(yù)編譯文本。
      [0091]進(jìn)一步的,在得到預(yù)編譯文本后,還可以保存原公式文本(即用戶輸入的符合用戶語(yǔ)法的公式文本)等。
      [0092]本發(fā)明實(shí)施例中,保存原公式文本有以下好處:首先,由于原公式文本是業(yè)務(wù)人員設(shè)置的計(jì)算過(guò)程,通過(guò)查看原公式文本,可以了解具體計(jì)算思路,比如想查看某項(xiàng)費(fèi)用的公式具體是怎樣的。第二,原公式文本在修改公式的時(shí)候還可以用到。第三,公式復(fù)制時(shí)會(huì)用至IJ。例如,在新增公式時(shí),可能只需在已有的公式基礎(chǔ)上稍作修改,那么在系統(tǒng)中通過(guò)公式ID或者名稱等查詢到公式后,確認(rèn)公式文本,然后可以復(fù)制粘貼使用。簡(jiǎn)化用戶操作。
      [0093]可選的,本發(fā)明實(shí)施例提供的公式處理方法還可以包括:
      [0094]接收用戶輸入的公式ID和計(jì)算參數(shù);
      [0095]基于公式ID獲取公式信息,該公式信息中包括:公式ID,計(jì)算模式,所述預(yù)編譯文本和計(jì)算精度;
      [0096]若計(jì)算模式為公式計(jì)算,則調(diào)用符合預(yù)設(shè)表達(dá)式語(yǔ)法的計(jì)算器,向所調(diào)用的計(jì)算器傳入上述預(yù)編譯文本和計(jì)算參數(shù);
      [0097]若計(jì)算模式為函數(shù)計(jì)算,則根據(jù)函數(shù)名稱、函數(shù)所屬類名以及計(jì)算參數(shù)確定反射調(diào)用函數(shù),反射調(diào)用所確定的反射調(diào)用函數(shù)。
      [0098]本發(fā)明實(shí)施例中,為了方便用戶操作,還可以顯示公式編輯窗口,該供公式編輯窗口界面上包括公式編輯框和函數(shù)框,其中函數(shù)框又分為系統(tǒng)函數(shù)框、原子函數(shù)框(也即用戶自定的函數(shù)框,與業(yè)務(wù)相關(guān))、業(yè)務(wù)變量框。如圖4所示,為本發(fā)明實(shí)施例提供的公式編輯窗口的一種不例圖。
      [0099]在圖4示例中,用戶雙擊某個(gè)函數(shù)或變量,函數(shù)或遍量將會(huì)顯示的公式編輯框中,單擊函數(shù)或變量,函數(shù)或變量的寫說(shuō)明將會(huì)在底部顯示。
      [0100]系統(tǒng)函數(shù)、原子函數(shù)、變量均支持篩選功能。
      [0101]函數(shù)的參數(shù)大部分以中文顯示,方便用戶理解使用,用戶需要去掉中文并替換為相應(yīng)的值。對(duì)于幣種、交易場(chǎng)所這里業(yè)務(wù)變量,在業(yè)務(wù)變量一
      當(dāng)前第2頁(yè)1 2 3 4 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1