在网络环境中客户端地区特殊数字格式处理的系统和方法

文档序号:6406810阅读:165来源:国知局
专利名称:在网络环境中客户端地区特殊数字格式处理的系统和方法
技术领域
本发明总地涉及到网站开发,尤其涉及到用于在网络浏览器中处理地区特异性数字格式的系统和方法。
背景技术
JavaScriptTM是一种支持在各种计算机和计算装置上的软件应用而不管基础的操作系统的脚本语言。该语言在网络文档(例如超文本置标语言(HTML)编码的网页)中具有特殊的应用,用于处理或操作在网络浏览器中的数据而不用调用网络服务器。这样的数据操作通常被称为客户端的数据操作。当前,JavaScriptTM是最广泛使用的脚本语言之一。
然而,在操作和处理可能是地区(locale)特异性的选择性数字数据格式地区,即按照客户/用户的位置变化的数字数据格式,和包括JavaScriptTM不识别的字符的数字数据格式中,JavaScriptTM技术是有缺陷的。例如,在美国,数字“一千五百四十二美元五十三美分”通常由客户/用户表示和格式化为“1,542.53”。在德国,相同的数被格式化为“1.542,53”。地区JavaScriptTM不管地区使用的格式,仅能够处理表示为1542.53时的这一数字。
于是,由JavaScriptTM支持的软件应用,可能不能够以客户/用户使用与用户地区有关的习惯的格式符号输入的数字适当地进行数字计算。如果在美国的用户输入一个数字到网站,具有上面讨论的逗号组分隔符的形式,那么,不对数据进行另加的操作,JavaScriptTM将不认为该数字有效。相似地,在德国使用的圆点组分隔符方法,也是JavaScriptTM不可识别的。因此,为了使JavaScriptTM支持的软件应用获得通用的和国际的适用性,有必要使这些软件应用处理和显示对用户的地区是敏感的数字。
因此,理想的是提供一种在网络环境中,尤其是在网络浏览器中处理客户端地区或用户特异性的数字格式的系统和方法。也可能理想的是提供用于为去除地区或用户特异性的数字格式以使用JavaScriptTM进行数字计算,然后为了显示的目的把数字数据格式化为一个或多个地区或用户特异性的数字格式的系统和方法。

发明内容
本发明提供一种在由JavaScriptTM支持的软件应用的网络环境中处理客户端的用户特异性数字格式的系统和方法。在一个实施例中,本发明使得由JavaScriptTM支持的软件应用能够对地区特异性数字数据执行客户端的计算,然后,以对用户的地区和需要敏感的格式显示数字结果。


参考附图,本发明的优选的实施例将在下面被描述,其中图1是按照本发明的原理的一种系统和方法的一个实施例的操作流程框图;图2是按照图1的系统和方法的一个实施例的去除格式函数的操作流程框图;
图3是按照图1的系统和方法的一个实施例的应用格式函数的操作流程框图;图4是企业内部网络或因特网的框图,其中,本发明的系统和方法能够被实现。
具体实施例方式
现在,说明用于说明本发明的一个或多个实施例的目的,而不是为了按照任何方式限制本发明的目的的附图,附图1说明在网络环境中处理客户端地区特异性数字格式的示范的系统方法的操作流程框图。在一个实施例中,该方法包含两个过程或者步骤,例如,一个从数据中去除任何地区特异性格式的去除格式(Remove Format)过程或者功能,和一个应用所需要的格式到要显示的操作数据的应用格式(Apply Format)过程或者功能。这些过程可以是按照JavaScriptTM语言的脚本或代码。
参考图1,系统如下操作数字数据例如货币数据被用户输入(100)。这一数据通常以输入用户地区的特殊格式,例如,按照美国习惯的逗号组分隔符格式,或者按照各欧洲国家习惯的用小数分隔符格式输入到网络文档中。其后,通过去除格式过程,地区特异性数字数据格式被去除以产生JavaScriptTM能够识别的数字数据(110)。然后,由JavaScriptTM支持的软件应用使用无格式的数字数据进行计算(120)。一旦计算已经被完成,数字数据通过应用格式过程被格式化为一个或多个地区特异性格式(例如,按照读者地区的习惯格式)和/或一个或多个用户定义的格式(130)。然后,格式化的数字数据按照所需要的格式被显示(140)。
去除格式和应用格式功能的使用向网络开发者提供满足对每一个用户的地区敏感和/或对每一个用户的特殊要求敏感的网络应用的能力。去除格式和应用格式功能现在将详细讨论。
去除格式功能参考图2,去除格式功能适用于去除特异性的数字格式(通过用户输入数字信息输入的)以转换格式数字为有效的JavaScriptTM数字。去除格式功能从用户输入的数据中去除无效的或者非数字字符,并为每一个用户输入的数字分配有效的JavaScriptTM数字。去除输入数字数据的格式是以地区特异性的预想的小数分隔符为基础的,并且能够由网络设计者或开发者确定。用于这一功能的输入参数如下1.原始格式化数字;和2.地区(或用户)特异性的小数分隔符(例如,在美国为“.”,而在欧洲为“,”)。
一个去除格式功能的例子现在将被描述,使用格式化的数字“-3,456.9876”(这里小数分隔符是“.”)。所需要的小数符号将是如通常的美国货币符号中的百分之一(hundredth)1、接收原始格式化数字作为表示由用户输入的数字数据的字符串变量。(200)。
2、使用已知的JavaScriptTM字符串方法Length()确定字符串的长度(205)。
3、使用JavaScriptTM字符串方法LastIndexOf()确定在字符串里的小数分隔符的位置(210)。在该例的数字中位置是6。
4、确定字符串的第一字符(位置0)是否包含一个负数符号(“-”)以得知由用户输入的数字是否为负数。如果第一字符包含一个负数符号,那么,设置负数标记为真,否则设置负数标记为假(215)。对于这一例子,负数标记被设置为真。
5、如果格式化的数字在小数分隔符后包含两个以上的字符,那么,确定该数字是否需要被四舍五入到下一位最高的数字或下一位最低的数字。在这点上,如果在小数分隔符后面的第三个字符大于4,那么,设置四舍五入标记为真,否则设置四舍五入标记为假(220)。对于这一例子,在小数后面的第三个字符是7因而该数字大于4,所以,四舍五入标记被设置为真。
6、字符串的一个子串被创建,包括从0位置开始除了到小数分隔符后面的三位置的所有字符(即包括在小数分隔符后的两个字符)。对于这一例子,子串变成-3,456.98(225)。
7、如果小数分隔符未被找到或者在小数分隔符后面少于两个字符,那么,增加必要数量的0到格式化数字的末端。如果在小数分隔符后面没有字符或者小数分隔符不存在,那么,增加“00”到格式化数字字符串的末端。如果在小数分隔符后面仅有一个字符,那么,增加“0”到格式化数字的末端。如果小数分隔符存在,并且在小数分隔符后面有多于两个字符,那么,什么也不做(230)。在这一例子中,在小数分隔符后面多于两个字符,因此,将什么也不做。
8、使用JavaScriptTM正规表达方法Replace(),通过用一个空字符串或者空位(null)替换非数字字符而从格式化的数字字符串去除所有的非数字字符(235)。在这一例子中,负号、组分隔符“,”和小数分隔符“.”,将各用空位替换。
9、如果四舍五入标记是真,那么,将格式化的数字作为浮点数字而不是字符串,并且加1到浮点数字(240)。在上面的例子中,因为四舍五入标记是真,所以,格式化的数字将被作为一个浮点数字,并且1将被增加到该数字(例如,345698+1=345699)。
10、如果负数标记被设置为真(如在上述例子中的),那么,用-1乘以该浮点数字(245)(例如,345699*(-1)=-345699)。
11、用预想的10的倍数,例如100除该浮点数字以将有效的JavaScriptTM小数分隔符放回到该数字中(250)(例如,-345699/100=-3456.99)。
12、返回到对应于格式化数字的有效的JavaScriptTM值(255)。对于上面的例子,返回的JavaScriptTM值将是“-3456.99”。
现在,去除格式方法的返回值是有效的JavaScriptTM数字,使得由JavaScriptTM支持的软件应用能够执行所需的数字计算。由此可知,这一方法能够用逗号“,”作为小数分隔符代替圆点“.”分隔符而进行。相似地,所需的符号(disignation)能够被设置成任何数字符号,例如,一千。在这点上,该方法将以小数分隔符后面的第四个字符进行四舍五入(220),并且,将用1000除该浮点数字(250)。
应用格式功能参考图3,应用格式功能将被讨论。如上所述,应用格式功能被用于通过转换有效的JavaScriptTM数字为地区和/或用户特异性的数字应用特定的数字格式。这一方法或功能返回地区(或用户)特异性的数字作为字符串。这一功能的输入参数如下1.有效的JavaScriptTM值或数字;2.地区(或用户)特异性的小数分隔符;和3.地区(或用户)特异性的组分隔符(例如,在美国为“,”,而在欧洲为“.”)。
现在,将说明这一功能的方法。作为例子的目的,在上面描述的去除格式过程中格式化的有效的JavaScriptTM数字“-3456.99”将被使用。对于该例子(美国格式),选择的分组分隔符将是“,”,并且小数分隔符是“.”。该方法如下1.确定JavaScriptTM数字的绝对值是否大于999.99(在图3中的300),如果是,那么组分隔符被使用(310)。如果不是,那么进行步骤6(360)。在这一例子中,绝对值是3456.99,它大于999.99,因此,进行步骤2。
2.将该JavaScriptTM数字作为一个字符串并定位JavaScriptTM小数分隔符(320)。
3.使用JavaScriptTm正规表达,Replace()以用地区或用户特异性的小数分隔符替换JavaScriptTM小数分隔符(330)。
4.使用小数分隔符的位置并且在字符串中往回数三个字符,然后使用JavaScriptTM字符串方法Substring()把字符串分割为两个子串(340)。对于这一例子,将有下面的两个子串“-3”和“456.99”。
5.用地区或用户特异性的组分隔符在中间连接第一和第二子串(350)。对于这一例子,连接过程将是“-3”+“,”+“456.99”。在连接以后,该例子的数字将是“-3,456.99”。
6.如果没有组分隔符(数字小于或等于999.99),那么,寻找JavaScriptTM小数分隔符的位置(360)并且用地区或用户特异性的小数分隔符替换JavaScriptTM小数分隔符(370)。
7.返回地区或用户特异性格式化的数字作为一个字符串(380)。上述例子的返回的值是“-3,456.99”。
因此,这一功能的返回值通过特殊的用户或地区给出的组和小数分隔符被格式化。
通过确定组分隔符,数字数据使用应用格式方法被格式化。通常需要网络开发者确定用于一个或多个地区特异性格式和/或一个或多个用户定义的而不一定与地区有关的格式的期望的小数分隔符和组分隔符。可以预想在德国的用户可能期望按照美国格式表达数字数据,反之亦然。应用格式返回一个具有由小数分隔符和/或组分隔符预先确定的适当地格式化的数字数据的字符串。
现在,参考图4,适合于使用本发明的方法和系统的计算机网络的例子被表示。该网络包括多个计算机工作站400和存在于主机404上的多个服务器402。每一个工作站400包括一个网络浏览器406,网络浏览器406用作允许用户访问网络中的资源的用户界面。每一个服务器402作为提供用户访问各种资源,包括网络文档408、后台应用程序410(例如,在与网络服务器同一机器上运行的数据库管理系统)和可能的外部应用程序412(其运行在不同于网络服务器的机器上)的网关(gateway)。每一个服务器402被配置成允许用户访问服务器资源。
每一个用户可以登录到网络以访问涉及,例如,在服务器402之一上的一个组织的特定部门、特定的程序或应用等的计算机文档。为了说明的目的,图4的网络是一个企业内部网的一部分。虽然说明书涉及的是企业内部网环境,显而易见,本发明的原理能够容易地应用于其它网络环境中,例如,LANs、WANs和因特网。
一旦登录,用户通过网络浏览器访问网络文档,例如用于数据的输入或浏览的静态HTML网络文档。网络文档可以请求输入数字数据和,假如这样的话,可以用前述的去除格式和应用格式的方法被编码以允许数据操作独立于用户的习惯地区,并且随后按照预定的组格式显示。
按照本发明的系统和方法,在面向帮助计划、评估、调度、建设和软件的报告以及其它开发项目,例如纽约AllFusionTMProcess ManagementSuite of Islandia中的组织的产品中具有特殊的适应性。与这样的产品结合的文档通常要求输入可以按照用户的特定地区被格式化的数字数据。因此,通过把本发明的系统和方法包含在这些文档的程序设计中,将促进这样的产品的通用和国际适应性。
可以预想上述的去除格式和应用格式功能可以被存储在计算机可读介质上,例如WEB HTML文档,并且,能够被配置为由执行本发明的系统,并且,用于执行去除格式和应用格式功能的过程,以及执行使用由去除格式方法返回的有效的JavaScriptTM数字的计算的计算机系统的至少一个处理器执行。
这里已经描述的仅说明本发明的原理。例如,上面描述的和作为本发明的最佳操作方式实施的数字格式方法,即去除格式和应用格式功能,仅仅为了说明的目的。本领域熟练技术人员可以实现其它的装置和方法而不会脱离本发明的精神和范围。
权利要求
1.一种处理在计算机文档中的数字数据的方法,包括输入数字数据到由程序设计语言支持的计算机文档中;从数字数据去除非数字字符以提供程序设计语言可识别的未格式化的数字;用未格式化的数字执行至少一次计算;和应用预定的数字格式到至少一个计算结果。
2.按照权利要求1的方法,还包括用预定的格式表示该至少一个计算结果给用户。
3.按照权利要求2的方法,其中,应用预定数字格式的步骤包括选择用户地区或用户特异性的格式化方法。
4.按照权利要求2的方法,其中,文档是网页文档。
5.按照权利要求4的方法,其中,程序设计语言是脚本语言。
6.按照权利要求5的方法,其中,脚本语言是JavaScriptTM。
7.按照权利要求4的方法,还包括从网络服务器获得网页文档。
8.一种处理数字数据的方法,包括输入数字数据到由脚本语言支持的软件文档中;访问嵌入在软件文档中的脚本,脚本配置成从表示数字数据的数字字符串中去除非数字字符及提供表示数字数据的并按照预定的小数格式表达的数字值;和使用该数字值执行计算。
9.按照权利要求8的方法,其中,访问步骤包括使用在脚本中的配置成把数字值四舍五入为一个预定的小数符号表示的指令。
10.按照权利要求9的方法,其中,访问步骤包括使用在脚本中的从数字字符串去除组分隔符和小数分隔符的指令。
11.按照权利要求9的方法,其中,访问步骤包括如果确定数字字符串的第一位包括一个负号,那么,用(-1)乘该数字值。
12.按照权利要求8的方法,其中,脚本语言是JavaScriptTM。
13.按照权利要求8的方法,其中,访问步骤包括确定数字字符串的长度的步骤。
14.按照权利要求13的方法,其中,使用JavaScriptTM函数Length()执行确定的步骤。
15.按照权利要求8的方法,其中,访问步骤包括识别在数字字符串里的小数分隔符的位置的步骤。
16.按照权利要求8的方法,其中,使用JavaScriptTM函数Last IndexOf()执行识别的步骤。
17.按照权利要求13的方法,其中,访问步骤包括使用JavaScriptTM函数Replace()从数字字符串去除非数字字符。
18.按照权利要求8的方法,还包括根据地区或用户特异性的小数分隔符或组分隔符以预定的数字格式表达计算结果。
19.一种数字格式处理的方法,包括把一个给定的JavaScriptTM值作为一个字符串;用地区或用户特异性的小数分隔符替换给定的JavaScriptTM值的小数分隔符;如果JavaScriptTM值大于999.99,那么,使用地区或用户特异性的小数分隔符的位置,在该字符串中往回数三个字符,并且把字符串分成两个子串;和用组分隔符在中间连接两个子串。
20.按照权利要求19的方法,还包括返回一个具有对应于JavaScriptTM值的地区或用户特异性的格式数字值的数字字符串。
21.按照权利要求20的方法,其中,使用JavaScriptTM函数Replace()执行替换步骤。
22.按照权利要求19的方法,其中,使用JavaScriptTM函数Substring()执行把字符串分成两个子串的步骤。
23.一种用于数字格式处理的系统,包括用于接收数字输入的装置;用于从数字输入去除数字格式以提供未格式化数字的装置;用于通过在网络环境里被设计成在多个操作系统中工作的程序设计语言,使用未格式化的数字执行至少一次计算的装置;和用于应用数字格式到至少一个计算结果的装置。
24.按照权利要求23的系统,还包括用于显示至少一个数字格式化计算结果给用户的装置。
25.按照权利要求23的系统,其中,应用数字格式的装置包括用于按照地区或用户指明的小数分隔符和/或组分隔符格式化至少一个计算结果的装置。
26.按照权利要求23的方法,其中,程序设计语言是JavaScriptTM。
27.一种用于执行数字格式化处理的计算机可读介质,包括用于从表示数字数据输入的数字字符串中去除格式以提供未格式化数字的程序指令;用于使用未格式化数字执行至少一次计算的程序指令;和用于应用数字格式到至少一个计算结果的程序指令。
28.按照权利要求27的计算机可读介质,还包括用于显示至少一个数字格式化计算结果给用户的程序指令。
29.按照权利要求28的计算机可读介质,其中,用于应用数字格式的程序指令包括用于按照地区或用户特异性的小数分隔符和/或组分隔符格式化至少一个计算结果的指令。
30.按照权利要求29的计算机可读介质,其中,程序设计指令包括在HTML文档中的JavaScriptTM。
31.一种在计算机文档中处理数字数据的系统,它包括至少一个用于管理网络信息的服务器;和与该至少一个服务器通信的多个用户设备,每一个用户设备包括用于从该至少一个服务器获得信息的一个浏览器,浏览器请求该至少一个服务器以使得文档由该用户设备显示,每一个文档具有用于接收按照预定格式的数字数据输入的指定的域,文档具有提供从数字数据输入中去除非数字字符和应用预定的数字格式到数字数据输入的至少一个计算结果以显示给用户的指令的解释语言。
32.按照权利要求31的系统,其中,至少一个服务器是内部网络服务器。
33.按照权利要求31的系统,其中,解释语言是JavaScriptTM。
全文摘要
一种系统和方法允许在由程序设计语言支持的软件应用的网络环境中处理的客户端的地区特异性数字格式。该系统和方法使得由程序设计语言支持的软件应用能够按照地区或用户特异性的数字数据执行客户端的计算,并且,按照对用户的地区和特殊需要敏感的格式显示数字结果。该系统和方法去除地区特异性的或其它的数字格式以使用程序设计语言执行数字计算,并且格式化数字数据为一个或多个地区或用户特异性的数字格式以进行显示。
文档编号G06F17/21GK1647037SQ03808846
公开日2005年7月27日 申请日期2003年4月18日 优先权日2002年4月19日
发明者马克·阿斯伯里 申请人:计算机联合新科有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1