返回顶部
首页 > 资讯 > 数据库 >oracle中文数字转阿拉伯数字
  • 419
分享到

oracle中文数字转阿拉伯数字

2024-04-02 19:04:59 419人浏览 泡泡鱼
摘要

CREATE OR REPLACE FUNCTioN chi2num(chivalue IN VARCHAR2) RETURN NUMBER IS  TYPE MAP IS TABLE OF BI

CREATE OR REPLACE FUNCTioN chi2num(chivalue IN VARCHAR2) RETURN NUMBER IS

  TYPE MAP IS TABLE OF BINARY_INTEGER INDEX BY VARCHAR2(10);
  ling_jiu_map   MAP;
  shibaiqian_map MAP;
  wanyizhao_map  MAP;
  --临时变量
  i            INT := 0; --'临时变量
  k            INT := 0; --临时变量
  x            INT := 0; --临时变量
  str          VARCHAR2(100) := ''; --临时变量
  tmp          INT := 0; --临时变量
  tmp2         INT := 0; --临时变量
  integer_part VARCHAR2(100) := ''; --数字形式整数部分
  float_part   VARCHAR2(100) := ''; --数字形式小数部分
  returnvalue  NUMBER := 0; --返回值
BEGIN
  --初始化数组
  ling_jiu_map('零') := 0;
  ling_jiu_map('一') := 1;
  ling_jiu_map('二') := 2;
  ling_jiu_map('三') := 3;
  ling_jiu_map('四') := 4;
  ling_jiu_map('五') := 5;
  ling_jiu_map('六') := 6;
  ling_jiu_map('七') := 7;
  ling_jiu_map('八') := 8;
  ling_jiu_map('九') := 9;
  shibaiqian_map('') := 0;
  shibaiqian_map('十') := 1;
  shibaiqian_map('百') := 2;
  shibaiqian_map('千') := 3;
  wanyizhao_map('') := 0;
  wanyizhao_map('万') := 1;
  wanyizhao_map('亿') := 2;
  wanyizhao_map('兆') := 3;

  str := REGEXP_REPLACE(chivalue, '^十', '一十');
  str := REGEXP_REPLACE(str, '零十', '零一十');
  --将数字拆分为整数与浮点数两个数字数组
  i := INSTR(str, '点', 1);

  IF i = 0 THEN
    integer_part := SUBSTR(str, 1);
  ELSE
    integer_part := SUBSTR(str, 1, i - 1);
    float_part   := SUBSTR(str, i + 1);
  END IF;

  --整型部分
  x    := LENGTH(integer_part);
  str  := '';
  tmp  := 0;
  tmp2 := 0;

  FOR k IN 1 .. x LOOP
    str := SUBSTR(integer_part, k, 1);
 
    IF str IN ('万', '亿', '兆') THEN
      --当碰到万亿兆时
      tmp         := tmp + tmp2;
      returnvalue := returnvalue + tmp * POWER(10000, wanyizhao_map(str));
      tmp         := 0;
      tmp2        := 0;
    ELSIF str IN ('十', '百', '千') THEN
      --当碰到十百千时
      tmp  := tmp + tmp2 * POWER(10, shibaiqian_map(str));
      tmp2 := 0;
    ELSE
      --当碰到数字时
      tmp2 := ling_jiu_map(str);
    END IF;
  END LOOP;

  --最后将没有小于万位数加到整数中去
  tmp         := tmp + tmp2;
  returnvalue := returnvalue + tmp;

  IF float_part IS NOT NULL THEN
    --计算小数部分
    k   := 0;
    tmp := '';
 
    FOR k IN 1 .. LENGTH(float_part) LOOP
      tmp := tmp || ling_jiu_map(SUBSTR(float_part, k, 1));
    END LOOP;
 
    returnvalue := returnvalue || '.' || tmp;
  END IF;

  RETURN returnvalue;
END;

oracle中文数字转阿拉伯数字

您可能感兴趣的文档:

--结束END--

本文标题: oracle中文数字转阿拉伯数字

本文链接: https://lsjlt.com/news/38043.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • oracle中文数字转阿拉伯数字
    CREATE OR REPLACE FUNCTION chi2num(chivalue IN VARCHAR2) RETURN NUMBER IS  TYPE MAP IS TABLE OF BI...
    99+
    2024-04-02
  • 罗马数字与阿拉伯数字转换
    罗马数字与阿拉伯数字对应关系如下: 且“II”表示2,“III”表示3,“IV”表示4,“VI表示6”,“VII”表示7,“VIII”表示8,“IX”表示9,其余的类似。 阿拉伯数转换成罗马数字 class Solution(obje...
    99+
    2023-01-31
    罗马数字 阿拉伯数字
  • python中文大写怎么转阿拉伯数字
    本篇内容主要讲解“python中文大写怎么转阿拉伯数字”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中文大写怎么转阿拉伯数字”吧!整数部分主要是利用正则表达式进行检索,将对应项的数字...
    99+
    2023-06-02
  • 怎么在python中将中文数字转换成阿拉伯数字
    本篇文章为大家展示了怎么在python中将中文数字转换成阿拉伯数字,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。正则表达式提取文本中的数字import rem0 = &...
    99+
    2023-06-08
  • php 汉字怎么转阿拉伯数
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php 汉字怎么转阿拉伯数?php中文转阿拉伯数字面试题,当时写了一个漏洞百出,被人鄙视了,所以回来用一上午写了一个,自己测试了一下,好像还可以。思路如中文数字 七百七十...
    99+
    2017-05-15
    php
  • php汉字如何转阿拉伯数
    这篇文章主要介绍“php汉字如何转阿拉伯数”,在日常操作中,相信很多人在php汉字如何转阿拉伯数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php汉字如何转阿拉伯数”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-25
  • python将中文数字转化成阿拉伯数字的简单方法
    正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = "在一九四九年新中国成立比一九九零年低百分之五点二人一九九六年击败俄军,取得实质独立"...
    99+
    2024-04-02
  • 学习python将中文数字转化成阿拉伯数字的方法
    这篇文章将为大家详细讲解有关学习python将中文数字转化成阿拉伯数字的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python将中文数字转化成阿拉伯数字正则表达式提取文本中的数字中文转化成阿拉伯数...
    99+
    2023-06-08
  • 怎么在Python中利用cn2an将中文数字与阿拉伯数字进行转换
    这篇文章主要介绍了怎么在Python中利用cn2an将中文数字与阿拉伯数字进行转换,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:python是什么意思Python是一种跨平台的、具有解释...
    99+
    2023-06-06
  • Python实现将罗马数字转换成普通阿拉伯数字的方法
    本文实例讲述了Python实现将罗马数字转换成普通阿拉伯数字的方法。分享给大家供大家参考,具体如下: 罗马数字,我们在某些电视中或者现实生活中都曾经看到过,近日,学习Python时,也遇到了罗马数字的解说,...
    99+
    2022-06-04
    罗马数字 阿拉伯数字 转换成
  • oracle文本如何转换为数字
    要将Oracle文本转换为数字,可以使用TO_NUMBER函数。该函数的语法为:TO_NUMBER(文本, 格式模板)。例如,如果要...
    99+
    2024-04-30
    oracle
  • php中文字符如何转换成数字
    小编给大家分享一下php中文字符如何转换成数字,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php中文字符转换成数字的方法:首先创建一个PHP示例文件;然后通过“function cn2num($string){...}”...
    99+
    2023-06-14
  • oracle字符怎么转换成数字
    在Oracle数据库中,可以使用TO_NUMBER()函数将字符数据类型转换为数字数据类型。以下是关于TO_NUMBER()函数的一...
    99+
    2024-03-05
    oracle
  • oracle中字符转数字的方法是什么
    在Oracle数据库中,可以使用以下方法将字符转换为数字:1. 使用TO_NUMBER函数:TO_NUMBER函数将一个字符串参数转...
    99+
    2023-08-29
    oracle
  • oracle中怎么把字符串转换成数字
    在 Oracle 中,可以使用 TO_NUMBER 函数将字符串转换为数字。语法如下: TO_NUMBER(string, '...
    99+
    2024-04-15
    oracle
  • oracle中如何把字符串转换成数字
    oracle提供多种方法将字符串转换为数字:to_number 函数:使用指定格式模型将字符串转换为数字类型。numtostr 函数:将字符串转换为数字类型,并转换为字符串。val 函数...
    99+
    2024-05-08
    oracle
  • Oracle中怎么将全角数字转换为半角数字
    Oracle中怎么将全角数字转换为半角数字,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。数据库表 test 字段 id name age 全角...
    99+
    2024-04-02
  • SQL 数字转为中文大写
    USE [SPECIAL_BLD]GO SET ANSI_NULLS ONGO SET QUOTED_IDENTIFIER ONGO CREATE FUNCTION [dbo].[get_upper] ( @num numeric(18,5...
    99+
    2015-04-10
    SQL 数字转为中文大写
  • Oracle数字金额转为汉字展示
    CREATE OR REPLACE FUNCTION "F_UPPER_MONEY_NEW"(I_NUM in number default null ) return nva...
    99+
    2021-06-16
    Oracle数字金额转为汉字展示 数据库入门 数据库基础教程 数据库 mysql
  • oracle数字转字符串怎么实现
    在Oracle数据库中,可以使用TO_CHAR函数将数字转换为字符串。示例如下: SELECT TO_CHAR(12...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作