python qt5类,使用标准十进制表示法显示和分析数字
qsdn的Python项目详细描述
欢迎使用标准十进制符号的文档!
**************************************
内容:
…module::qsdn
平台:
unix,windows
概要:
此模块允许解析、验证和生成
数字文本,使用1000个分隔符从
到
数字。使用
区域设置的底层系统库通常忽略在
小数点后放置一千个分隔符(逗号),或者有时使用科学符号。
类继承自qt类,使事情变得不那么复杂。
例如,在
窗口中,用户可以将其千位分隔符设置为任何
字符。支持将字符串直接转换为小数,并支持从小数转换为字符串。数字总是用标准的十进制表示法表示。
注意重载所有成员,使其与基类qlocale和qvalidator一致。
此模块需要pyqt5。它目前只在
Microsoft Windows中测试。我们邀请其他平台的用户加入
我的团队并提交拉取请求,以确保正常工作。如果系统上安装了
kde和pykde,则将使用kde的
千位分隔符和十进制符号设置。否则,
系统的区域设置将用于确定这些值。
语言环境:
主要优点是转换成字符串的数字总是转换成标准的十进制表示法。并且您可以控制在截断远数之前如何写入远数。另一个
好处是它可以与十进制数字一起工作。十进制数字是本机的。
因此数字直接从字符串转换为十进制数字,反之亦然。
您可以提供区域设置的名称,并在小数点后指定
强制和最大数字。
locale=locale("en_us",2,3)语言环境。tostring(4)是"4.00"
语言环境。tostring(4.01)是"4.01"语言环境。tostring(1/3)是"0.333"
若要指定语言和脚本,请将qlocale传递给
构造函数:如下所示:qlocale=qlocale('en-us',
qlocale.latin,qlocale.西班牙语)sdnlocale=locale(qlocale,2,
3)
字符串表示使用:
基数设置为零,它将查看
数字的第一个数字,以确定它应该使用的基数。因此,"013"将被
解释为11(0表示八进制形式),除非将
基数设置为10,其中as将被解释为13。您可以使用'0x'作为十六进制数的前缀。有些开发人员不想将这个编程概念公开给软件用户。对于那些没有显式指定基数为
10的人。从1.0.0开始,基本值默认为10,因为qLocale类中pyqt5的新
行为总是将
基本值固定为10。
这对于mac操作系统,
windows和kde guis都是正确的。
static c()
返回C语言环境。在C语言环境中,to*例程不会接受组分隔符,也不会生成它们。
static setdefault(qlocale)
static system()
返回语言环境的系统默认值。
todecimal(s,*,基数=10)
这将创建s的十进制表示形式。
它返回一个有序对。第一个是
十进制数,第二个表示
字符串是否有该数字的有效表示。
在使用返回的十进制数之前,应始终检查有序对的第二个。
第一个是
数字,第二个表示字符串
是否有该数字的有效表示。在使用返回的数字之前,您应该始终
检查有序对中的第二个。
注意:
您可以设置另一个参数,即基数,以便
将字符串解释为8表示八进制,16表示十六进制,2表示
二进制。
字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
与qlocale的其他to*函数以及这个类
locale一样,解释一个字符串并解析它并返回一个十进制数。基值
用于确定要使用的基。它是这样做的,所以
这工作像托龙,托因特,托夫洛特等…忽略前导和
尾随空白。
todouble(s,*,base=10)
分析字符串s并返回一个浮点值,其
字符串为s。
第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
第一个是
数字,第二个表示字符串
是否有该数字的有效表示。在使用返回的数字之前,应始终检查有序对中的第二个。
tofloat(s,*,base=10)
分析字符串s并返回一个浮点值,该值的
string是s。
第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制
,而"777"将被解释为十进制。
分析字符串s并返回字符串为
s的整数值。
第一个是
数字,对的第二个表示字符串是否具有该数字的有效表示形式。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制
,"777"将被解释为十进制。
分析字符串s并返回一个浮点值,其
字符串为s。
第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
返回有序对。第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
字符串。
数字始终转换为标准十进制表示法。也就是说,数字永远不会被转换成科学的符号。
控制字符串的方式:如果传递一个decimal.decimal
类型值,则精度记录在数字本身中。
因此,d('4.00')将被表示为"4.00",而不是"4"。d('4')
将表示为"4"。
如果传递的数字不是十进制数,则按以下方式创建数字:
在创建
区域设置期间设置的两个额外参数确定tostring()的
结果中将显示多少个数字。例如,我们有一个类似5.1的数字,
强制小数被设置为2,tostring(5.1)应该返回
'5.10'。像6这样的数字应该是"6.00"。像5.104
这样的数字将取决于最大小数点的设置,也设置在
语言环境的构造:_maximum_decimals控制小数点后的
最大小数点,因此,如果
u maximum_decimals是6,而'u mandatory_decimals是2,则
ToString(3.1415929)为"3.141592"。请注意,这个数字是
截断的,而不是四舍五入的。在显示之前,请考虑舍入
数字的副本。
touint(s,*,base=10)
分析字符串s并返回一个
字符串为s的无符号整数值。
第一个是
number,第二对表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查有序对的第二个。
注意:
您可以设置另一个参数base(默认为
10),这样您就可以将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
字符串"0x33"将解释为十六进制,而"777"将解释为十进制。
它返回一个有序对。第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将解释为十六进制,而"777"将解释为十进制。
它返回一个有序对。第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
忽略前导和尾随空白。
class qsdn.numericValidator(parent=none)
numericValidator允许任何长度的数字,但
当缺少或超出
位置时,将添加或更正组分隔符。
美元金额;
美元=数字验证器(6,2)s='42.1'
美元。验证(s='42.1',2)=>;s='42.10's='50000'
美元。tostring(s)=>;s='50,000.00'
locale()
获取此验证器使用的区域设置
setlocale(plocale)
设置此验证器使用的区域设置。
validate(self,str,int)->;tuple[qvalidator.state,str,int]
qsdn.limitingNumericValidator类(maximum_decamals=1000,maximum_decimals=1000,use_space=false,parent=none)
NumericValidator限制小数点后的位数和小数点前的位数。
:
numericvalidator(8,8)美元小于1000000美元:
numericvalidator(6,2)
如果use space为true,则在左侧添加空格,以便小数点的位置保持不变。像
"10000.004"、"102.126"这样的数字会对齐。比特币金额:
'0.004,3''10.4''320.0''
0.000004'
美元金额;
美元=数字验证器(6,2)s='42.1'
美元。验证(s='42.1',2)=>;s='42.10'
s='50000'美元。tostring(s)=>;s='
50,000.00'
decamals()
locale()
获取此验证器使用的区域设置
设置在**小数点之前应允许的小数位数
setDecimals(i)
允许在**小数点后
setLocale(plocale)
以及
空格,以便在大小不同时保持小数点对齐
将一个数字放在另一个数字之上。
**************************************
内容:
…module::qsdn
平台:
unix,windows
概要:
此模块允许解析、验证和生成
数字文本,使用1000个分隔符从
到
数字。使用
区域设置的底层系统库通常忽略在
小数点后放置一千个分隔符(逗号),或者有时使用科学符号。
类继承自qt类,使事情变得不那么复杂。
例如,在
窗口中,用户可以将其千位分隔符设置为任何
字符。支持将字符串直接转换为小数,并支持从小数转换为字符串。数字总是用标准的十进制表示法表示。
注意重载所有成员,使其与基类qlocale和qvalidator一致。
此模块需要pyqt5。它目前只在
Microsoft Windows中测试。我们邀请其他平台的用户加入
我的团队并提交拉取请求,以确保正常工作。如果系统上安装了
kde和pykde,则将使用kde的
千位分隔符和十进制符号设置。否则,
系统的区域设置将用于确定这些值。
语言环境:
主要优点是转换成字符串的数字总是转换成标准的十进制表示法。并且您可以控制在截断远数之前如何写入远数。另一个
好处是它可以与十进制数字一起工作。十进制数字是本机的。
因此数字直接从字符串转换为十进制数字,反之亦然。
您可以提供区域设置的名称,并在小数点后指定
强制和最大数字。
locale=locale("en_us",2,3)语言环境。tostring(4)是"4.00"
语言环境。tostring(4.01)是"4.01"语言环境。tostring(1/3)是"0.333"
若要指定语言和脚本,请将qlocale传递给
构造函数:如下所示:qlocale=qlocale('en-us',
qlocale.latin,qlocale.西班牙语)sdnlocale=locale(qlocale,2,
3)
字符串表示使用:
数字的第一个数字,以确定它应该使用的基数。因此,"013"将被
解释为11(0表示八进制形式),除非将
基数设置为10,其中as将被解释为13。您可以使用'0x'作为十六进制数的前缀。有些开发人员不想将这个编程概念公开给软件用户。对于那些没有显式指定基数为
10的人。从1.0.0开始,基本值默认为10,因为qLocale类中pyqt5的新
行为总是将
基本值固定为10。
这对于mac操作系统,
windows和kde guis都是正确的。
static c()
返回C语言环境。在C语言环境中,to*例程不会接受组分隔符,也不会生成它们。
static setdefault(qlocale)
static system()
返回语言环境的系统默认值。
todecimal(s,*,基数=10)
这将创建s的十进制表示形式。
它返回一个有序对。第一个是
十进制数,第二个表示
字符串是否有该数字的有效表示。
在使用返回的十进制数之前,应始终检查有序对的第二个。
第一个是
数字,第二个表示字符串
是否有该数字的有效表示。在使用返回的数字之前,您应该始终
检查有序对中的第二个。
注意:
您可以设置另一个参数,即基数,以便
将字符串解释为8表示八进制,16表示十六进制,2表示
二进制。
字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
与qlocale的其他to*函数以及这个类
locale一样,解释一个字符串并解析它并返回一个十进制数。基值
用于确定要使用的基。它是这样做的,所以
这工作像托龙,托因特,托夫洛特等…忽略前导和
尾随空白。
todouble(s,*,base=10)
分析字符串s并返回一个浮点值,其
字符串为s。
第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
第一个是
数字,第二个表示字符串
是否有该数字的有效表示。在使用返回的数字之前,应始终检查有序对中的第二个。
tofloat(s,*,base=10)
分析字符串s并返回一个浮点值,该值的
string是s。
第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制
,而"777"将被解释为十进制。
分析字符串s并返回字符串为
s的整数值。
第一个是
数字,对的第二个表示字符串是否具有该数字的有效表示形式。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制
,"777"将被解释为十进制。
分析字符串s并返回一个浮点值,其
字符串为s。
第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
返回有序对。第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
字符串。
数字始终转换为标准十进制表示法。也就是说,数字永远不会被转换成科学的符号。
控制字符串的方式:如果传递一个decimal.decimal
类型值,则精度记录在数字本身中。
因此,d('4.00')将被表示为"4.00",而不是"4"。d('4')
将表示为"4"。
如果传递的数字不是十进制数,则按以下方式创建数字:
在创建
区域设置期间设置的两个额外参数确定tostring()的
结果中将显示多少个数字。例如,我们有一个类似5.1的数字,
强制小数被设置为2,tostring(5.1)应该返回
'5.10'。像6这样的数字应该是"6.00"。像5.104
这样的数字将取决于最大小数点的设置,也设置在
语言环境的构造:_maximum_decimals控制小数点后的
最大小数点,因此,如果
u maximum_decimals是6,而'u mandatory_decimals是2,则
ToString(3.1415929)为"3.141592"。请注意,这个数字是
截断的,而不是四舍五入的。在显示之前,请考虑舍入
数字的副本。
touint(s,*,base=10)
分析字符串s并返回一个
字符串为s的无符号整数值。
第一个是
number,第二对表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查有序对的第二个。
注意:
您可以设置另一个参数base(默认为
10),这样您就可以将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
字符串"0x33"将解释为十六进制,而"777"将解释为十进制。
它返回一个有序对。第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将解释为十六进制,而"777"将解释为十进制。
它返回一个有序对。第一个是
数字,第二个表示字符串是否
该数字的有效表示。在使用返回的数字之前,您应该始终检查
有序对的第二个。
注意:
您可以设置另一个参数base,这样您就可以
将字符串解释为8表示八进制,16表示十六进制,2表示二进制。
如果base设置为0,则"0777"等数字将被解释为八进制。字符串"0x33"将被解释为十六进制,而"777"将被解释为十进制。
忽略前导和尾随空白。
class qsdn.numericValidator(parent=none)
numericValidator允许任何长度的数字,但
当缺少或超出
位置时,将添加或更正组分隔符。
美元金额;
美元=数字验证器(6,2)s='42.1'
美元。验证(s='42.1',2)=>;s='42.10's='50000'
美元。tostring(s)=>;s='50,000.00'
locale()
获取此验证器使用的区域设置
setlocale(plocale)
设置此验证器使用的区域设置。
validate(self,str,int)->;tuple[qvalidator.state,str,int]
qsdn.limitingNumericValidator类(maximum_decamals=1000,maximum_decimals=1000,use_space=false,parent=none)
NumericValidator限制小数点后的位数和小数点前的位数。
:
numericvalidator(8,8)美元小于1000000美元:
numericvalidator(6,2)
如果use space为true,则在左侧添加空格,以便小数点的位置保持不变。像
"10000.004"、"102.126"这样的数字会对齐。比特币金额:
'0.004,3''10.4''320.0''
0.000004'
美元金额;
美元=数字验证器(6,2)s='42.1'
美元。验证(s='42.1',2)=>;s='42.10'
s='50000'美元。tostring(s)=>;s='
50,000.00'
decamals()
locale()
获取此验证器使用的区域设置
设置在**小数点之前应允许的小数位数
setDecimals(i)
允许在**小数点后
setLocale(plocale)
以及
空格,以便在大小不同时保持小数点对齐
将一个数字放在另一个数字之上。