NUMERIC_CHECK用法及怎樣判斷小數型別的字串為數字
ABAP中,有時候需要判斷一個字串是否為數字,下面是常用的幾種方法及注意事項:
1、可以利用NUMERIC_CHECK判斷字串是否為數字並輸出補零;
注意:利用function module NUMERIC_CHECK 檢查字串是否為數字時,整數型別的是NUMC,小數型別則會被認為Char型別!
DATA:lv_char1 TYPE c length 3 VALUE '100',
lv_char2 TYPE n LENGTH 6,
lv_type TYPE dd01v-datatype.
CALL FUNCTION ‘NUMERIC_CHECK’
EXPORTING
string_in = lv_char1
IMPORTING
string_out = lv_char2
htype = lv_type.
WRITE:lv_char1,lv_char2,lv_type.
結果:100 000100 NUMC
————
注意:
1、小數型別數字檢查結果是CHAR型別的。
如下所示:
DATA:lv_char1 TYPE c length 3 VALUE '0.100',
lv_char2 TYPE n LENGTH 6,
lv_type TYPE dd01v-datatype.
CALL FUNCTION ‘NUMERIC_CHECK’
EXPORTING
string_in = lv_char1
IMPORTING
string_out = lv_char2
htype = lv_type.
WRITE:lv_char1,lv_char2,lv_type.
結果:0.1 0.100 char
————
2、可以用正則表示式判斷,也只能判斷整數,如果MATCH = 'X',則為數字,如果為空,則不是數字型別,如下程式碼:
DATA:MATCHER TYPE REF TO CL_ABAP_MATCHER.
DATA:MATCH TYPE C LENGTH 1.
DATA:STR(10) TYPE C.STR = '2323'.
MATCHER = CL_ABAP_MATCHER=>CREATE( PATTERN = '\d+' TEXT = STR ).
MATCH = MATCHER->MATCH( ).
3、也可以用另一種方法來判斷是否為補獲系統異常:把字串賦值給I型別的變數;如果是字母,會觸發一個異常;可據異常情況,斷定是數字還是字母!
相關推薦
NUMERIC_CHECK用法及怎樣判斷小數型別的字串為數字
ABAP中,有時候需要判斷一個字串是否為數字,下面是常用的幾種方法及注意事項: 1、可以利用NUMERIC_CHECK判斷字串是否為數字並輸出補零; 注意:利用function module NUMERIC_CHECK 檢查字串是否為數字時,整數型別的是NUM
12-判斷變量及字符串是否為數字的多種方法
判斷 技術分享 bsp 方法 .com bubuko 字符 image mage 12-判斷變量及字符串是否為數字的多種方法
Mybatis判斷int型別是否為空
分析:正式:1測試:2終止:0不選:null選擇終止的時候得到了和不選一樣的結果,下圖為sql判斷語句,以前一直都是這麼判斷的沒有出現過問題 錯誤所在:通過觀察log列印的sql語句發現status=0時上述條件是
typeof()用法及JS基本型別
一,typeof方法用法 typeof 返回的是字串,有六種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined" 事例:常用來判斷 // 1.校驗註冊時間 sRegDate = getItemValu
c語言求三角形的面積及判斷三角形型別
//================== //判斷三角形的型別 //================== #include <stdio.h> #include <math.h>
如何判斷CString型別是否為空
CString strTemp; if (strTemp.IsEmpty()) { AfxMessageBox(_T("空")); } if (strTemp.GetLength()==0) { AfxMessageBox(_T("空")); } 突然感覺CString類
java 判斷返回型別是非為空(null 與 a.length()的區別)
null 與 a.length()的區別 如果a為null 則a.length就會報 java lang nullpointException 正確的處理方法: if(a==null){ } 而不是a.length>0
Oracle中判斷字段是否為數字
copy 目的 表達式 組成 text lac 方法 正則表達式 tex 在我們平常的開發中可能會遇到這樣的問題,就是判斷某一列是否全部由數字組成,我們都知道oracle並沒有給我們提供這樣一個現成的函數,那麽根據我的經驗我總結了兩個行之有效的方法(列名:column,表名
判斷Python輸入是否為數字
開始 nts 方法 得到 思路 模塊 怎麽 就是 statement 在接收raw_input方法後,判斷接收到的字符串是否為數字 例如: str = raw_input("please input the number:") if str.isdigit(): 為True
C#判斷一個string是否為數字(正則表示式)
方案一:Try...Catch(執行效率不高) private bool IsNumberic(string oText) { try &nb
js判斷輸入的是否為數字
// 判斷輸入是否為數字 function isNumeric(n) { return !isNaN(parseFloat(n)) && isFinite(n); } js中字串轉換為數字: parseInt()函式可解析一個字串,並返回一個整數。 parseF
js實現判斷輸入內容是否為數字
有時候需要根據輸入的內容來進行計算,這個時候就需要判斷輸入的內容是否是數字。JavaScript判斷輸入內容是否為數字的方法很多,接下來就來了解一下。 使用isNaN(x) 函式檢查其引數是否是非數字值,x是數字返回false,返回true表示非數字。(注意:當x為0的時候返回的也是true,所
判斷某字元是否為數字
可以通過以下判斷字元或字串中某個字元為數字。 名稱 說明 IsNumber(Char) 指示指定的 Unicode 字元是否屬於數字類別。
JavaScript判斷輸入內容是否為數字
方法一:(不嚴謹) isNaN(is Not a Number)網上大部分人說這個方法有個問題,就是如果傳入引數是一個空串或是一個空格,而isNaN是做為數字0進行處理的,所以isNaN檢查不嚴密。方法二:(推薦)自定義方法並呼叫,使用正則表示式網上看到的都什麼玩意,測了很多
yml錯誤讀取字串為數字的問題
專案中用到了一個字串001,通過註解繫結到字串變數 curr: 001 結果發現讀出來的字串變數內容為1,而不是期望的001. 其原因是yml會把0開頭的作為8進位制對待,主動去掉了前導零。 如果碰到這樣的情況,需要用雙引號避免此類錯誤: curr: "001"
判斷是string 是否為數字 是否為字母 是否為漢字
/// <summary> /// 檢測一個字串是不是以漢字開始 /// </summary> /// <param name="str">要檢測的字串</param> /// <retu
ACCESS sql語句資料型別轉換 文字型別轉換為數字型別
string sql = "select top 5 * from Dcms_Intro where Intro_CateId=931 order by cint(Intro_ExFlag5) desc " ;// 這
java判斷輸入的是否為數字的方法
/*1. NumberUtils.isNumber() : 判斷字串是否是數字*/ NumberUtils.isNumber("5.96");//結果是true NumberUtils.isNumber("s5");//結果是false NumberUtils.is
C++判斷使用者輸入是否為數字?
#include <iostream> #include <string> #include <stdlib.h> using namespace std; bo
判斷Python輸入是否為數字、字元
當鍵入字串8字串時候,我們自己就可以判斷了! 一: import re print("我現在要寫一個檔案數字猜遊戲數字遊戲:") temp=input("請你輸入一個數字,猜對了有獎,猜錯了,沒有關係:") guess=str(temp) while guess != '8