发明内容
本申请提供一种适用于中国识读习惯的、直观、方便的用于数值字符或字符串的显示方法及其装置;本申请同时提供一种用于数值字符或字符串的显示终端设备、一种用于数值字符或字符串的显示客户端以及一种用于数值字符或字符串的显示系统。
本申请采用的技术方案是:
本申请提供一种用于数值字符或字符串的显示方法,包括:
接收获取用户输入的触发指令;
获取用户输入的数值字符或数值字符串;
按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串;
输出所述预定格式的字符或预定格式的字符串。
可选的,所述将输入的数值字符串转换为预定格式的字符串,包括:
判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数值字符串及数字单位作为预定格式的字符串。
可选的,所述将输入的数值字符串转换为预定格式的字符串,包括:
判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数字单位作为预定格式的字符串。
可选的,所述数字单位中,每个万级以上的数级中至少有一位数字单位省略级名,和/或数级位值。
可选的,所述将输入的数值字符串转换为预定格式的字符串,包括:
将用户输入的数值字符串从个位起自右至左,每隔四位添加分隔符,将添加分隔符后的字符串作为预定格式的数值字符串。
可选的,所述将输入的数值字符串转换为预定格式的字符串,包括:
判断用户输入的数值字符串整数部分的字串长度,将所述数值字符串按照预定的会计大写转换方法转换为会计大写格式的字符串,将所述会计大写格式的字符串作为预定格式的字符串。
可选的,所述按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符;
以及,输出所述预定格式的字符或预定格式的字符串的步骤,包括:
输出依次排列有数字单位的表单;
将所述输入的数值字符以递进方式逐一输出到所述表单中对应的数字单位处。
可选的,所述输出依次排列有数字单位的表单,包括:
计算已输入的数值字符的个数;
根据所述已输入的数值字符的个数,输出依次排列有不少于所述已输入的数值字符的个数的数字单位的表单。
可选的,所述获取用户输入的触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令。
可选的,所述获取用户输入的数值字符或数值字符串包括:
通过接收字符串输入指令获取用户输入的数值字符或数值字符串。
可选的,所述通过接收字符串输入指令获取用户输入的数值字符或数值字符串包括:
通过输入框,和/或键盘接收字符串输入指令获取用户输入的数值字符或数值字符串。
可选的,所述将输入的数值字符串转换为预定格式的字符串采用交互方式,其具体包括:
每接收一次字符串输入指令,就将用户输入的数值字符串转换为预定格式的字符串,和/或,接收到输入完成指令后,将用户输入的数值字符串转换为预定格式的字符串。
可选的,所述获取用户输入的数值字符或数值字符串包括:通过接收字符串信号获取用户输入的数值字符或数值字符串。
可选的,所述输出所述预定格式的字符或预定格式的字符串包括:
在预定的区域或在与输入框所在区域相邻接的区域输出所述预定格式的字符或预定格式的字符串。
可选的,所述输出所述预定格式的字符或预定格式的字符串采用放大显示的方式,其具体包括:使用比所述获取用户输入的数值字符或数值字符串的步骤中的数值字符或数值字符串的字号大的字号显示所述预定格式的字符或预定格式的字符串。
可选的,所述输出所述预定格式的字符或预定格式的字符串采用交互方式,其具体包括:接收输出触发指令后输出所述预定格式的字符或预定格式的字符串。
可选的,所述输出触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令,转换完成指令。
可选的,所述用于数值字符或字符串的显示方法,还包括:
接收隐藏触发指令后停止输出所述预定格式的字符或预定格式的字符串。
可选的,所述隐藏触发指令包括以下至少一种:
鼠标失去焦点的指令,页面表单点击指令,计时完成指令,按键点击指令,触摸屏点击指令。
可选的,所述输出所述预定格式的字符或预定格式的字符串包括:输出所述预定格式的字符或预定格式的字符串及与其内容相对应的文字说明。
可选的,所述文字说明包括货币单位。
本申请还提供一种用于数值字符或字符串的显示装置,包括:
输入触发指令接收单元,用于接收获取用户输入的触发指令;
输入获取单元,用于获取用户输入的数值字符或数值字符串;
转换单元,用于按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串;
输出单元,用于输出所述预定格式的字符或预定格式的字符串。
可选的,所述转换单元包括:
第一字符串转换子单元,用于判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数值字符串及数字单位作为预定格式的字符串。
可选的,所述转换单元包括:
第二字符串转换子单元,用于判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数字单位作为预定格式的字符串。
可选的,所述数字单位中,每个万级以上的数级中至少有一位数字单位省略级名,和/或数级位值。
可选的,所述转换单元包括:
第三字符串转换子单元,用于将用户输入的数值字符串从个位起自右至左,每隔四位添加分隔符,将添加分隔符后的字符串作为预定格式的数值字符串。
可选的,所述转换单元包括:
第四字符串转换子单元,用于判断用户输入的数值字符串整数部分的字串长度,将所述数值字符串按照预定的会计大写转换方法转换为会计大写格式的字符串,将所述会计大写格式的字符串作为预定格式的字符串。
可选的,所述转换单元和输出单元包括:
表单输出子单元,用于输出依次排列有数字单位的表单;
字符输出子单元,用于将所述输入的数值字符以递进方式逐一输出到所述表单中对应的数字单位处。
可选的,所述表单输出子单元包括:
计算子单元,用于计算已输入的数值字符的个数;
第一表单输出子单元,用于根据所述已输入的数值字符的个数,输出依次排列有不少于所述已输入的数值字符的个数的数字单位的表单。
可选的,所述输入触发指令接收单元接收的获取用户输入的触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令。
可选的,所述输入获取单元包括:
输入指令获取子单元,用于通过接收字符串输入指令获取用户输入的数值字符或数值字符串。
可选的,所述输入指令获取子单元包括:
第一输入指令获取子单元,用于通过输入框,和/或键盘接收字符串输入指令获取用户输入的数值字符或数值字符串。
可选的,所述转换单元采用交互方式运行,包括:
第一转换子单元,用于每接收一次字符串输入指令,就将用户输入的数值字符串转换为预定格式的字符串;和/或,
第二转换子单元,用于接收到输入完成指令后,将用户输入的数值字符串转换为预定格式的字符串。
可选的,所述输入获取单元包括:
输入信号获取子单元,用于通过接收字符串信号获取用户输入的数值字符或数值字符串。
可选的,所述输出单元包括:
第一输出子单元,用于在预定的区域或在与输入框所在区域相邻接的区域输出所述预定格式的字符或预定格式的字符串。
可选的,所述输出单元包括:
第二输出单元,用于使用比所述获取用户输入的数值字符或数值字符串的步骤中的数值字符或数值字符串的字号大的字号显示所述预定格式的字符或预定格式的字符串。
可选的,所述输出单元包括:
第三输出子单元,用于接收输出触发指令后输出所述预定格式的字符或预定格式的字符串。
可选的,所述第三输出子单元接收的输出触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令,转换完成指令。
可选的,所述用于数值字符或字符串的显示装置,还包括:
隐藏输出单元,用于接收隐藏触发指令后停止输出所述预定格式的字符或预定格式的字符串。
可选的,所述隐藏输出单元接收的隐藏触发指令包括以下至少一种:
鼠标失去焦点的指令,页面表单点击指令,计时完成指令,按键点击指令,触摸屏点击指令。
可选的,所述输出单元包括:
第四输出子单元,用于输出所述预定格式的字符或预定格式的字符串及与其内容相对应的文字说明。
可选的,所述文字说明包括货币单位。
本申请还提供一种用于数值字符或字符串的显示终端设备,包括:
中央处理器;
输入输出单元;
存储器;
所述存储器中存储有本申请提供的用于数值字符或字符串的显示方法;并在启动后能够根据上述方法运行。
本申请还提供一种用于数值字符或字符串的显示客户端,使用本申请提供的用于数值字符或字符串的显示方法,所述客户端获取数值字符或数值字符串,并按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串,最终输出所述预定格式的字符或预定格式的字符串。
本申请还提供一种用于数值字符或字符串的显示系统,包括客户端和远端服务器,配置有本申请提供的用于数值字符或字符串的显示装置,所述客户端获取数值字符或数值字符串并发送到远端服务器,所述远端服务器将所述数值字符或数值字符串按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串并发送到客户端,最终在客户端上输出所述预定格式的字符或预定格式的字符串。
与现有技术相比,本申请具有以下优点:
本申请提供的一种用于数值字符或字符串的显示方法,首先,接收获取用户输入的触发指令;然后,获取用户输入的数值字符或数值字符串;再按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串;最后输出所述预定格式的字符或预定格式的字符串。对于数值字符串,相较于国际通用的三位分级法,按照符合中国读值习惯的四位分级法进行转换后再显示,能够帮助用户更方便、快捷、直观的识读数值,将其应用于金融领域,能够以更加直观的交互形式来校验金额填写的准确性,降低填写出错率,从根本上极大地提高用户填写金额相关表单的工作效率,降低审核和校验成本。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供了一种用于数值字符或字符串的显示方法、一种用于数值字符或字符串的显示装置、一种用于数值字符或字符串的显示终端设备、一种用于数值字符或字符串的显示客户端以及一种用于数值字符或字符串的显示系统,在下面的实施例中逐一进行详细说明。
请参考图1,其为本申请的一种用于数值字符或字符串的显示方法实施例的流程图。所述方法包括如下步骤:
步骤S101:接收获取用户输入的触发指令。
本步骤,首先接收获取用户输入的触发指令,所述获取用户输入的触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令。
例如,在本申请提供的一个实施例中,用户需要在页面表单的输入框中输入数值字符或数值字符串时,通过点击页面表单的标题、鼠标移入输入框中等行为均可传达出接下来要输入数值字符或数值字符串的信息,可以将其视为触发行为,因此,可以将对表单标题的点击、输入框获得鼠标焦点等作为获取用户输入的触发指令。
以上仅举例说明了获取用户输入的触发指令,除此之外,输入框的内容变化、通过键盘的键入、对触摸屏终端设备中应用程序中的输入框的点击等都可以作为获取用户输入的触发指令,以上均为现有技术中的成熟技术方案,此处不再赘述,其均在本申请的保护范围之内。
步骤S102:获取用户输入的数值字符或数值字符串。
通过步骤S101,已接收获取用户输入的触发指令,接下来,需要获取用户输入的数值字符或数值字符串。
本步骤可以通过接收字符串输入指令获取用户输入的数值字符或数值字符串,也可以通过接收字符串信号获取用户输入的数值字符或数值字符串。
在本申请提供的一个实施例中,所述通过接收字符串输入指令获取用户输入的数值字符或数值字符串可以是通过输入框接收字符串输入指令获取用户输入的数值字符或数值字符串。比如当输入框接收到粘贴、键盘输入等输入指令后内容发生变化时,使用JavaScript语言的document.getElementById对象捕获函数捕获输入框中的字符串。
作为本申请提供的实施例的一种变更实施方式,所述通过接收字符串输入指令获取用户输入的数值字符或数值字符串还可以是通过键盘接收字符串输入指令获取用户输入的数值字符或数值字符串,所述键盘可以是物理键盘,也可以是虚拟键盘。以物理键盘为例,当键盘受到敲击后发出对应的输入指令时,使用C语言的getch函数获取输入的字符。对于虚拟键盘,可首先通过keybd_event获得输入的键值,然后通过getch函数获取对应的字符。
上述通过输入框或键盘接收字符串输入指令获取用户输入的数值字符或数值字符串是业内基本的现有技术,还可以通过很多其他的函数实现,在此不再赘述,其均在本申请的保护范围之内。
在实际应用中,数值字符或数值字符串可能是以信号的形式传递,在获取信号后,对信号进行解码和转码即可将其转换为数值字符或数值字符串,实现通过接收字符串信号获取数值字符或数值字符串。所述解码和转码的方法为业内成熟的现有技术,在此不再赘述,其均在本申请的保护范围之内。
步骤S103:按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串。
通过步骤S102,已获取用户输入的数值字符或数值字符串,接下来,需要按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串。
在本申请提供的一个实施例中,所述将输入的数值字符串转换为预定格式的字符串,包括:
判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数值字符串及数字单位作为预定格式的字符串。
例如:对于一人民币金额对应的数值字符串“12003503614.35”,首先使用正则表达式判断字符串是否为数值字符串,如是,再使用int函数截取其整数部分,然后使用length函数判断所述整数部分的字串长度为11位,查询预先存储的字串长度与数字单位的对应关系,即可知所述数值字符串的最高数字单位为“百亿”,往下依次为“十亿”、“亿”、“千万”、“百万”……,如此获得所述数值字符串中每位数字对应的数字单位,即可将所述数值字符串与所述数字单位组合后作为预定格式的字符串,其中所述数值字符串中的每个数字与所述数字单位一一对应,从而使用户能够参照所述数字单位快速的根据中国传统识读习惯识读上述数值字符串为“一百二十亿零三百五十万三千六百一十四点三五”。
在本申请提供的另一个实施例中,所述将输入的数值字符串转换为预定格式的字符串,包括:
判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数字单位作为预定格式的字符串。
本实施例与上述实施例类同,相关之处请参考上述实施例所述,其不同之处在于仅将数字单位作为预定格式的字符串,为了便于用户识读,在本实施例的具体实施中,需要将所述数字单位按照一一对应关系显示在用户输入的数值字符串旁,也可以实现帮助用户快速识读出上述数值字符串。
需要说明的是,由于每个数级中都有4个数字单位(例如万级有千万、百万、十万和万4个数字单位),其级名是相同的(例如:万、亿),不同的是数级位值(千、百、十、个,其中“个”默认省略),为了更方便的识读,可以将万级以上的数级中的至少一位数字单位省略级名,和/或数级位值。仍以上述数值字符串“12003503614.35”为例,将省略部分级名后的数字单位连起来为“百、十、亿、千、百、十、万、千、百、十、个”,将上述省略后的数字单位与所述数值字符串中的字符一一对应,即可实现快速、方便识读的目的。
上述这些都属于具体实施方式的变更,并不偏离本申请的核心,都在本申请的保护范围之内。
在本申请提供的另一个实施例中,所述将输入的数值字符串转换为预定格式的字符串,包括:
将用户输入的数值字符串从个位起自右至左,每隔四位添加分隔符,将添加分隔符后的字符串作为预定格式的数值字符串。
仍以上述数值字符串“12003503614.35”为例,首先使用正则表达式判断字符串是否为数值字符串,如是,再使用int函数截取其整数部分,从个位起自右至左,每隔四位添加一分隔符“,”,再使用concat函数将其与原字符串的小数部分组合,即可将其转换为预定格式的字符串“120,0350,3614.35”,从右侧起,第一个逗号前为个级,第二个逗号前为万级,第二个逗号后为亿级,如此,则能够快速的根据中国传统识读习惯识读字符串为“一百二十亿零三百五十万三千六百一十四点三五”。
需要说明的是,上述分隔符不限于逗号,还包括除阿拉伯数字及数学符号外的任意字符,只要所述分隔符有助于快速识读数值字符串,均在本申请的保护范围之内。
在本申请提供的另一个实施例中,所述将输入的数值字符串转换为预定格式的字符串,包括:
判断用户输入的数值字符串整数部分的字串长度,将所述数值字符串按照预定的会计大写转换方法转换为会计大写格式的字符串,将所述会计大写格式的字符串作为预定格式的字符串。
仍以上述数值字符串“12003503614.35”为例,首先使用正则表达式判断字符串是否为数值字符串,如是,再使用int函数截取其整数部分,然后使用length函数判断所述整数部分的字串长度为11位,查询预先存储的字串长度与数字单位的对应关系,即可知所述数值字符串的最高数字单位为“百亿”,往下依次为“十亿”、“亿”、“千万”、“百万”……,如此获得所述字符串中每位数字对应的数字单位,再查询预先存储的数字与大写中文汉字的对应关系,获得每个数字对应的大写中文汉字,接下来每个数字对应的大写中文汉字与数字单位依次对应连接,再按照会计大写标准省略相应的“零”和级名,补充相应的货币单位等,即可将所述数值字符串按照预定的会计大写标准转换为会计大写格式的字符串“人民币壹佰贰拾亿零叁佰伍拾万叁仟陆佰壹拾肆元叁角伍分”。
其中所述会计大写标准为中国会计行业标准,包括:汉字大写数字金额如零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿等。大写金额数字到元或者角为止的,在“元”或者“角”字之后应当写“整”字或者“正”字;大写金额数字有分的,分字后面不写“整”或者“正”字。大写金额数字前未印有货币名称的,应当加填货币名称,货币名称与金额数字之间不得留有空白。金额数字中间有“0”时,汉字大写金额要写“零”字;数字金额中连续有几个“0”时,汉字大写金额中可以只写一个“零”字;金额数字元位是“0”,或者数字中间连续有几个“0”、元位也是“0”但角位不是“0”时,汉字大写金额可以只写一个“零”字,也可以不写“零”字。
为了提高识读效率及满足不同用户的需求,本申请提供的一个实施例中,所述将输入的数值字符串转换为预定格式的字符串采用交互方式,其具体包括:
每接收一次字符串输入指令,就将用户输入的数值字符串转换为预定格式的字符串,和/或,接收到输入完成指令后,将用户输入的数值字符串转换为预定格式的字符串。
例如:采用onpropertychange函数监听输入框内的内容变化,每当输入框内的内容发生变化,就将接收的数值字符串按照预先设定的方法转换为预定格式的字符串。又如,使用onsubmit事件触发函数,用户输入完成时,点击页面内的表单后,就将接收的字符串按照预定的方法转换为预定格式的字符串。当然,为满足各种不同的应用需求,上述两种方式可以交叉同时使用,其仍在本申请的保护范围之内。
需要说明的是,上述实施例中每接收一次字符串输入指令,就将用户输入的数值字符串转换为预定格式的字符串,此处的字符串并不限于两个以上的字符组成的字符串,也包括单个字符的输入,即每接收一次字符输入指令,就将用户输入的数值字符转换为预定格式的字符。
步骤S104:输出所述预定格式的字符或预定格式的字符串。
通过步骤S103,已按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串,接下来,将所述预定格式的字符或预定格式的字符串输出显示即可。
在本申请提供的一个实施例中,所述输出所述预定格式的字符或预定格式的字符串包括:
在预定的区域或在与输入框所在区域相邻接的区域输出所述预定格式的字符或预定格式的字符串。
例如,在输入框的上方或下方的相邻位置的表单域中显示所述预定格式的字符串。又如,在输入框中输入的数值不易识读(如323,432,352,133.0),则在其相邻位置设一表单域,在表单中显示易于识读的所述预定格式的字符串(如3234,3235,2133.0)。再如,在输入框旁采用Tooltip控件在所述输入框的相邻区域显示所述预定格式的字符串。若数值字符串是通过信号接收的,页面上不存在输入框或已有的显示内容,则在页面内预先设定一区域,在此区域显示所述预定格式的字符串。
在本申请提供的一个实施例中,所述输出所述预定格式的字符或预定格式的字符串包括:在显示框中显示所述预定格式的字符或预定格式的字符串。
由于本申请提供的实施例的应用目的之一在于提高识读效率,为了进一步提高识读效率,所述输出所述预定格式的字符或预定格式的字符串可以采用放大显示的方式,其具体包括:使用比所述获取用户输入的数值字符或数值字符串的步骤中的数值字符或数值字符串的字号大的字号显示所述预定格式的字符或预定格式的字符串。例如,用户输入的数值字符或数值字符串的字号为10号,则输出的所述预定格式的字符或预定格式的字符串的字号为16号,这样,相当于放大镜的功能,使输出的所述预定格式的字符或预定格式的字符串更加醒目,更加有助于快速、准确的识读。
采用类似的方式,为了提高识读效率或引起用户的注意,还可以采用更加易于识读的字体、颜色或底纹,以及采用加粗、倾斜、下划线或边框等方式输出所述预定格式的字符或预定格式的字符串。具体实施方式是较成熟的现有技术,在此不再赘述,其均在本申请的保护范围之内。
考虑到在页面中设定持续显示的表单域或显示框会影响页面的显示效果,减小页面的显示容量,在本申请的一个实施例中,所述输出所述预定格式的字符或预定格式的字符串采用交互方式,其具体包括:接收输出触发指令后输出所述预定格式的字符或预定格式的字符串。例如将所述预定格式的字符或预定格式的字符串置于表单的隐藏域中,当接收到用户的指令后再显示,有效解决了显性表单域影响页面显示效果的问题。
作为上述实施例的具体实施方式,所述输出触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令,转换完成指令。
例如,通过接收输入框内容变化指令输出所述预定格式的字符或预定格式的字符串,可采用onpropertychange函数监听输入框内的内容变化,当接收到输入框内的内容变化的指令后,输出所述预定格式的字符或预定格式的字符串。又如,所述通过页面表单点击指令输出所述预定格式的字符或预定格式的字符串,可使用onsubmit事件触发函数,当页面内的表单被点击后,输出所述预定格式的字符或预定格式的字符串。此外,利用onkeypress事件触发函数,可实现当键盘上的某个键被按下并且释放时触发,利用onmouseover事件触发函数,可实现当鼠标移动到某对象范围的上方时触发,等等。再如,在按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串后,立即输出所述预定格式的字符或预定格式的字符串。
以上仅举例说明了接收输出触发指令后输出所述预定格式的字符或预定格式的字符串的情况,现有技术中有多种多样的触发方式,在此不再赘述,其均在本申请的保护范围之内。
基于与上述触发后输出所述预定格式的字符或预定格式的字符串相应的考虑,当输出完成后或识读完成后,还需要将所述预定格式的字符串隐藏,在本申请的一个具体实施例中,所述用于数值字符或字符串的显示方法,还包括,接收隐藏触发指令后停止输出所述预定格式的字符或预定格式的字符串。
作为上述实施例的具体实施方式,所述隐藏触发指令包括以下至少一种:鼠标失去焦点的指令,页面表单点击指令,计时完成指令,按键点击指令,触摸屏点击指令。
例如,通过计时函数,将所述预定格式的字符或预定格式的字符串输出预定的一段时间,当计时完成后停止输出。又如,利用onchange函数,当鼠标离开输入框后,失去焦点,则停止输出所述预定格式的字符或预定格式的字符串。再如,接收触摸屏上在任一位置的点击指令后,停止输出所述预定格式的字符或预定格式的字符串。
以上仅举例说明了接收隐藏触发指令后停止输出所述预定格式的字符或预定格式的字符串的情况,现有技术中有多种多样的触发方式,在此不再赘述,其均在本申请的保护范围之内。
实际应用中,考虑到一段字符串中,除了数值字符串以外,还有与所述数值字符串相关的其他类型的字符串,如果一并显示,则可以保证识读的连贯性或帮助用户更加容易的识读。因此,本申请提供的一个实施例中,所述输出所述预定格式的字符或预定格式的字符串包括:输出所述预定格式的字符或预定格式的字符串及与其内容相对应的文字说明。
作为上述实施例的一种具体实施方式,所述文字说明包括货币单位。例如,对于人民币金额相应的数值字符串(如“123446895460”),转换为数值字符串加数字单位的格式后,除了显示所述数值字符串及数字单位外,将文字说明“元”也一并显示(如“1234,4689,5460元”),有助于用户更加准确无误的识读。
至此,通过步骤S101至S104完成了用于数值字符或字符串的显示过程。
在本申请提供的一个实施例中,上述步骤S103及S104可采用另一种变更的实施方式实施,如,所述按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符;以及,输出所述预定格式的字符或预定格式的字符串的步骤,包括:
输出依次排列有数字单位的表单;
将所述输入的数值字符以递进方式逐一输出到所述表单中对应的数字单位处。
例如,在获取到用户输入的数值字符后,在页面上或APP的应用界面上弹出一个辅助表单,所述表单上依次排列有多个数字单位,如从左侧开始依次为“十亿”、“亿”、“千万”、“百万”、“十万”、“万”、“千”、“百”、“十”、“个”,或者是省略级名,和/或数级位值的数字单位,如从左侧开始依次为“十”、“亿”、“千”、“百”、“十”、“万”、“千”、“百”、“十”、“个”。然后将用户输入的所述数值字符以递进方式逐一输出到所述表单中对应的数字单位处,以方便用户每输入一个数值字符即可实时的、快速的识读出多个所述数值字符组成的数值字符串。
容易理解的是,上述输出到所述表单中对应的数字单位处,并不是使用数值字符覆盖所述数字单位,而是输出到所述数字单位的邻接处,以便于用户识读。
考虑到实际应用中,用户输入的数值字符的个数是不确定的,为了提高本方法应用的灵活性,提升用户的使用体验,在本申请提供的一个实施例中,所述输出依次排列有数字单位的表单,包括:
计算已输入的数值字符的个数;
根据所述已输入的数值字符的个数,输出依次排列有不少于所述已输入的数值字符的个数的数字单位的表单。
如此,根据用户已输入的数值字符的个数显示对应个数的数字单位,界面更简洁,更便于用户识读。
在本申请的一个具体实施例中,将本申请的方法应用于大额金额填写场景,当用户在输入框中输入金额“10000000000”时,在输入框上面的带有数字单位的放大镜框中会自动对应显示出用户输入的金额数,而且所显示的金额数和上边的单位相对齐,具体请参考图3,其为本申请的一种用于数值字符或字符串的显示方法的具体实施例的显示结果示意图一。通过这种方式,可以方便用户快速地识读所填写的金额数,简易快速地进行金额的实时校验及确认,降低填写出错率,有效提高工作效率。
在本申请提供的另一个具体实施例中,将本申请的方法应用于页面提交至后台后返回到前台的校验确认的使用情境,用户输入完成金额“21000000”后,提交至后台进行处理,后台将其转换成“人民币贰仟壹佰万元”,与上述金额“21000000”一并返回到前台供用户校验确认,以增强用户对于金额的可读性,请参考图4,其为本申请的一种用于数值字符或字符串的显示方法的具体实施例的显示结果示意图二。这种线下场景的线上模拟增加了用户的熟悉感和线上操作的仪式感,以大写呈现的方式也增强了用户对于金融理财平台的严谨感和信赖感,这是基于理财线上平台金额填写情境的良好体验。在本申请提供的一个具体实施中,可以采用JS语言编程实现,例如:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
td{text-align:center;
}
</style>
<script>
function displayResult()
{
var x=document.getElementById("inputAmount");
var a=Array();
a=x.value;
if(a.length<5){
document.getElementById('table1').rows[0].cells[11].innerHTML="元";
document.getElementById('table1').rows[0].cells[10].innerHTML="十";
document.getElementById('table1').rows[0].cells[9].innerHTML="百";
document.getElementById('table1').rows[0].cells[8].innerHTML="千";
}
if(a.length>4){
document.getElementById('table1').rows[0].cells[7].innerHTML="万";
document.getElementById('table1').rows[0].cells[6].innerHTML="十";
document.getElementById('table1').rows[0].cells[5].innerHTML="百";
document.getElementById('table1').rows[0].cells[4].innerHTML="千";
}
if(8<a.length){
document.getElementById('table1').rows[0].cells[3].innerHTML="亿";
document.getElementById('table1').rows[0].cells[2].innerHTML="十";
document.getElementById('table1').rows[0].cells[1].innerHTML="百";
document.getElementById('table1').rows[0].cells[0].innerHTML="千";
}
if(a.length>12){
alert("金额过大");
document.getElementById("inputAmount").value="";
}
for(var i=0;i<a.length;i++){
document.getElementById('table1').rows[1].cells[12-i-1].innerHTML="";
}
for(var i=0;i<a.length;i++){
document.getElementById('table1').rows[1].cells[12-i-1].innerHTML=a[i];
}
}
</script>
</head>
<body>
<table id="table1">
<tr>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr>
</table>
<p style="position:absolute;top:46px;">请输入金额:</P><inputid="inputAmount"style="text-align:right;position:absolute;top:60px;width:130px;left:110px"type="text"onkeyup="displayResult()">
</body>
</html>
需要说明的是,以上仅示例性的采用JS语言说明的本实施例的实施方法,其代码中并未包括金额字段和单位的对应性及前端的视觉效果,仅供参考实施,并不限制本申请的保护范围,通过现有技术中的其他语言、代码实现本申请提供的所述用于数值字符或字符串的显示方法,也在本申请的保护范围之内。
在上述的实施例中,提供了一种用于数值字符或字符串的显示方法,与之相对应的,本申请还提供一种用于数值字符或字符串的显示装置。请参看图2,其为本申请的一种用于数值字符或字符串的显示装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种用于数值字符或字符串的显示装置,包括:输入触发指令接收单元101,用于接收获取用户输入的触发指令;输入获取单元102,用于获取用户输入的数值字符或数值字符串;转换单元103,用于按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串;输出单元104,用于输出所述预定格式的字符或预定格式的字符串。
可选的,所述转换单元103包括:
第一字符串转换子单元,用于判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数值字符串及数字单位作为预定格式的字符串。
可选的,所述转换单元103包括:
第二字符串转换子单元,用于判断用户输入的数值字符串整数部分的字串长度,根据所述字串长度确定每位数字对应的数字单位,将所述数字单位作为预定格式的字符串。
可选的,所述数字单位中,每个万级以上的数级中至少有一位数字单位省略级名,和/或数级位值。
可选的,所述转换单元103包括:
第三字符串转换子单元,用于将用户输入的数值字符串从个位起自右至左,每隔四位添加分隔符,将添加分隔符后的字符串作为预定格式的数值字符串。
可选的,所述转换单元103包括:
第四字符串转换子单元,用于判断用户输入的数值字符串整数部分的字串长度,将所述数值字符串按照预定的会计大写转换方法转换为会计大写格式的字符串,将所述会计大写格式的字符串作为预定格式的字符串。
可选的,所述转换单元103和输出单元104包括:
表单输出子单元,用于输出依次排列有数字单位的表单;
字符输出子单元,用于将所述输入的数值字符以递进方式逐一输出到所述表单中对应的数字单位处。
可选的,所述表单输出子单元包括:
计算子单元,用于计算已输入的数值字符的个数;
第一表单输出子单元,用于根据所述已输入的数值字符的个数,输出依次排列有不少于所述已输入的数值字符的个数的数字单位的表单。
可选的,所述输入触发指令接收单元101接收的获取用户输入的触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令。
可选的,所述输入获取单元102包括:
输入指令获取子单元,用于通过接收字符串输入指令获取用户输入的数值字符或数值字符串。
可选的,所述输入指令获取子单元包括:
第一输入指令获取子单元,用于通过输入框,和/或键盘接收字符串输入指令获取用户输入的数值字符或数值字符串。
可选的,所述转换单元103采用交互方式运行,包括:
第一转换子单元,用于每接收一次字符串输入指令,就将用户输入的数值字符串转换为预定格式的字符串;和/或,
第二转换子单元,用于接收到输入完成指令后,将用户输入的数值字符串转换为预定格式的字符串。
可选的,所述输入获取单元102包括:
输入信号获取子单元,用于通过接收字符串信号获取用户输入的数值字符或数值字符串。
可选的,所述输出单元104包括:
第一输出子单元,用于在预定的区域或在与输入框所在区域相邻接的区域输出所述预定格式的字符或预定格式的字符串。
可选的,所述输出单元104包括:
第二输出单元104,用于使用比所述获取用户输入的数值字符或数值字符串的步骤中的数值字符或数值字符串的字号大的字号显示所述预定格式的字符或预定格式的字符串。
可选的,所述输出单元104包括:
第三输出子单元,用于接收输出触发指令后输出所述预定格式的字符或预定格式的字符串。
可选的,所述第三输出子单元接收的输出触发指令包括以下至少一种:
鼠标获得焦点的指令,输入框内容变化指令,键盘键入指令,页面表单点击指令,触摸屏点击指令,转换完成指令。
可选的,所述用于数值字符或字符串的显示装置,还包括:
隐藏输出单元104,用于接收隐藏触发指令后停止输出所述预定格式的字符或预定格式的字符串。
可选的,所述隐藏输出单元104接收的隐藏触发指令包括以下至少一种:
鼠标失去焦点的指令,页面表单点击指令,计时完成指令,按键点击指令,触摸屏点击指令。
可选的,所述输出单元104包括:
第四输出子单元,用于输出所述预定格式的字符或预定格式的字符串及与其内容相对应的文字说明。
可选的,所述文字说明包括货币单位。
以上,为本申请提供的一种用于数值字符或字符串的显示装置的实施例。
本发明还提供了一种使用上述用于数值字符或字符串的显示方法的终端设备,包括:
中央处理器;
输入输出单元;
存储器;
所述存储器中存储有本申请提供的用于数值字符或字符串的显示方法;并在启动后能够根据上述方法运行。
例如,所述终端设备为一手机,用户在手机上输入数值字符或数值字符串,手机即调用本申请提供的用于数值字符或字符串的显示方法将其转换为预定格式的字符或预定格式的字符串,并在触摸屏上输出预定格式的字符或预定格式的字符串。
又如,所述终端设备为一计算机,用户通过键盘输入数值字符或数值字符串,计算机即调用本申请提供的用于数值字符或字符串的显示方法将其转换为预定格式的字符或预定格式的字符串,并在显示器上输出预定格式的字符或预定格式的字符串。
由于本终端设备使用上述用于数值字符或字符串的显示方法,相关之处请参见上述用于数值字符或字符串的显示方法的实施例说明,此处不再赘述。
本发明还提供了一种用于数值字符或字符串的显示客户端,使用本申请提供的用于数值字符或字符串的显示方法,所述客户端获取数值字符或数值字符串,并按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串,最终输出所述预定格式的字符或预定格式的字符串。
例如,用户在客户端上的输入框内输入数值字符或数值字符串,客户端即调用本申请提供的用于数值字符或字符串的显示方法将其转换为预定格式的字符或预定格式的字符串,并在显示框内输出预定格式的字符或预定格式的字符串。
由于本用于数值字符或字符串的显示客户端使用上述用于数值字符或字符串的显示方法,相关之处请参见上述用于数值字符或字符串的显示方法的实施例说明,此处不再赘述。
本发明还提供了一种用于数值字符或字符串的显示系统,包括客户端和远端服务器,配置有本申请提供的用于数值字符或字符串的显示装置,所述客户端获取数值字符或数值字符串并发送到远端服务器,所述远端服务器将所述数值字符或数值字符串按照设定的方式将所述输入的数值字符逐一转换为预定格式的字符或将输入的数值字符串转换为预定格式的字符串并发送到客户端,最终在客户端上输出所述预定格式的字符或预定格式的字符串。
例如,所述客户端为一平板电脑,用户在平板电脑上框选页面内容,所述平板电脑获取所述页面内容对应的数值字符或数值字符串,然后发送到远端服务器,远端服务器即调用本申请提供的用于数值字符或字符串的显示方法将其转换为预定格式的字符或预定格式的字符串并发送到平板电脑上,最终在平板电脑的触摸屏上输出预定格式的字符或预定格式的字符串。
由于本用于数值字符或字符串的显示系统使用上述用于数值字符或字符串的显示装置,相关之处请参见上述用于数值字符或字符串的显示装置的实施例说明,此处不再赘述。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。