1. 程式人生 > >NUMERIC_CHECK用法及怎樣判斷小數型別的字串為數字

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(10TYPE 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