php int转float并且保留小数

//如下面的例子
$a = 5.00;
$b = floatval($a);
$c = (float)$a;
var_dump($b);
echo '</br>';
var_dump($c);
打印出来的结果是:
float(5)
float(5)
//例子二:
$a = 5;
$b = floatval($a);
$c = (float)$a;
var_dump($b);
echo '</br>';
var_dump($c);
打印的结果是:
float(5)
float(5)

至于原因,目前还没有整明白,猜测是PHP自身做的处理,结果就没有 点零零(.00)了。但是现在就让你,把int 5转换成float类型,怎么办呢....我使用的方法是通过json_encode来实现的。

$a = 5;
$jsonData = [
    'money'=>floatval($a),
    'how_money'=>(float)$a,
];
$jsonData = json_encode($jsonData,JSON_PRESERVE_ZERO_FRACTION);
var_dump($jsonData);
打印结果是:"{"money":5.0,"how_money":5.0}"

下面简单介绍一下JSON的格式类型有哪些。

数据交换格式方式

  • 基本类型
  • 数组类型
  • 对象嵌套

案例实操

基本类型

{“键” : 值, “键” : “值”,…},以大括号开始,键的名称加上冒号,然后跟上对应的的值,若有其他键值对则以逗号进行分割。

{
    "name": "张三",
    "age": 18,
    "sex": true
}

数组类型

[{“键” : 值, “键” : “值”},{“键” : 值, “键” : “值”},…],以中括号开始,其间的数据通过逗号进行分割。

[
    {
        "name": "张三",
        "age": 18,
        "sex": true
    },
    {
        "name": "李四",
        "age": 19,
        "sex": false
    }
]

对象嵌套

由上面两种类型,因为值的不固定性,可以演变出各种各样的嵌套类型。

{
    "name": "teacher",
    "computer": {
    "CPU":"intel7,
    "disk": "512G"
	},
	"students": [
        {
            "name": "张三",
            "age": 18,
            "sex": true
        },
        {
            "name": "李四",
            "age": 19,
            "sex": false
        }
    ]
}
1. JSON数值({
	"key": value
})   {
	"key": 520,
	"key1": 1314  
}
2. JSON字符串({
	"key": "value"
})   {
	"key": "我爱你",
	"key1": "一生一世"
}
3. JSON数组({
	"key": [value]
})   {
	"key": [520, 1314],
	"key1": [520, 3344]
}
4. JSON对象({
	"key": {
		value
	}
})   {
	"key": {
		"520": "我爱你"
	},
	"key1": {
		"1314": "一生一世"
	}
}
5. JSON对象数组({
	"key": [{
		"key1": "value1"
	}, {
		"key2": "value2"
	}]
})   {    
	"我": [{
		"key": "我爱你"
	}, {
		"key1": "一生一世"
	}]
}
6. JSON数组对象({
	"key": {
		"key1": [value1, value2]
	}
})   {
	"我": {
		[520, 1314],
		["我爱你", "一生一世"]
	}
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值