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)


以及
空格,以便在大小不同时保持小数点对齐
将一个数字放在另一个数字之上。





欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jframe为什么JAVA paint()方法不起作用?   java Guice:将ContainerRequestContext注入拦截器   java如何优雅地关闭Spring JMS MessageListenerAdapter   java如何在Spring中设置快照隔离级别   Java中的安卓平台独立信任存储路径   java无法在eclipse中运行hello world程序   java Sinch空指针问题   使用Java将JSON流式传输到BigQuery   java从“大数据”中选择什么Swing控件?   java通过对象字段过滤/排序集合?   java将数据从活动传递到另一个活动中的片段   java访问打包在jar文件中的文档   Java获取事件的大小。getDragboard()。getFiles()。流()。映射(文件::长度)。toString());   java Android libgdx:启动程序图标按下后,启动屏幕不会立即显示   java如何在Google App Engine灵活环境中配置oracle jdk   java有没有办法减少这些行?   Java:客户端socket不读取第二行,在终止符行之后保持打开状态   java以编程方式获取api 29上的所有APK文件   java ActionBar按钮不显示