php 浮点数转字符串,php浮点数和字符串

有关浮点数的细节

1:浮点数不应直接进行大小比较!

先看一个现象:

e8e1ffc2624e337b314335c16328f322.png

可见:浮点数直接进行比较是“不可靠的”。

原因是:浮点数在内存中的二进制形式(最底层的形式),是不精确的,比如:

c7e3f1c23d17b73e151e84f00f852deb.png

那如果需要(其实这很常见)进行浮点数比较,该怎么办?

考虑现实应用所需的精度要求的基础上,来讲他们转换为整数后进行比较!

比如:

要求精确到3位小数,就都乘以1000后取整再比较;

要求精确到2位小数,就都乘以100后取整再比较;

要求精确到4位小数,就都乘以10000后取整再比较;

举例:

ff423c7995d1d79389272d3525a19d0b.png

字符串类型

· 单引号字符串:

b9f99408c5c3b40e490952e58a4e3d24.png

· 双引号字符串:

dcae630dfca76765f5678d46136af21a.png

· 定界符字符串heredoc:

还可以使用特定形式的字符串,被称为定界符字符串,有两种:heredoc, nowdoc

形式:

$s1 = <<

字符串内容。。。。

标识符;

举例:

dc79f4c936d7b9b68c83be4ec0fda396.png

结果:

179f54a12d86aff138b908df31daa450.png

· 定界符字符串nowdoc:

形式:

$s1 = <<

字符串内容。。。。

标识符;

举例:

773f9ca98fd0d4a14b964c1cc96586c3.png

结果为:

77cf81cc6b2df10367d3ba90bd0cfe66.png

可见:在单引号定界符(nowdoc)中,有一个特点就是:写什么就是什么!

双引号字符串中识别变量的演示:

463d6ad30d03da9c9b50c9d7cc29cbf1.png

类型转换问题

php是一种弱类型语言,其特点是:变量可以存储任何类型,而不受限制!

有两种类型转换:

自动转换

自动转换,是指,没有转换语法,但在具体的语句(或表达式)中,会根据具体的情形,将某种类型的数据,转换为另一种类型,然后进行运算。

典型情况是:某种运算符“理应”使用某种类型的数据,但给定的数据不是该种类型,就是发生自动转换;

$v1 = “abc” * “def”; //这里就会发生自动转换,2个字符串其实都转换为0然后进行运算

$v2 = “2” * “3”; //这里也会发生自动转换,结果是6

强制转换:

就是,使用特定的语法,将某个数据,从其“原来的类型”,转换为设定的目标类型;

形式如下:

(目标类型) 数据

a0c865d93c1fd986ecbc484ee1ff5e65.png

b5ea5f0a675f0b35abc1ae321598021c.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值