栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021.11.7 孤尽训练营D13——前后端设计与规约

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021.11.7 孤尽训练营D13——前后端设计与规约

前后端接口规约:

前后端联合开发的纠结点,需要共同讨论并确定:

  • 接口名称与风格
  • 如果空集合,返回null还是空集合
  • json组装格式
  • 后台异常的失败提示
  • 错误信息与用户信息透出

前后端交互的API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响应体

 

JAVA与JS对数字类型变量处理方式不同,如果数字太大或者有精度要求,最好使用String类型

(“有些数值会有精度损失”——2的56次方能够精确表示。)


 聊聊浮点数

float a = 0.5F - 0.25F;

float b = 0.25F - 0.0F;

结果:a = b

float c = 1.0F - 0.9F;

float d = 0.9F - 0.8F;

结果:c != d

问题:为什么会出现这种情况?

答案:0.5F = 2^(-1)     ,0.25F = 2^(-2)

因此a由这两个值相减是一个准确值。

而1.0F、0.9F等无法由2的指数倍表示,用浮点数计算出来是无限循环小数。

因此c与d的结果不是准确值。

为什么要有科学记数法?表示极大数、极小数

浮点数的表示范围:

  • Float:比特数为32,有效数字为7位(十进制),数值范围位-3.4E+38和3.4E+38
  • Double:比特数位64,有效数字位16(十进制),数值范围位-1.7E-308和1.7E+308

 指数是以2为底的,有效数字前面省略了1(这叫规格化,规格化浮点数的尾数域最左位即最高有效位总是1,故这一位经常不予存储,而认为隐藏在小数点的左边),所以绿色和黄色之间还省略了1,实际上有效数字有24位。

转换例子:

1.

2.三进制的0.1,转换成十进制:0.333333333(即1/3)

 JS没有整形,只有Double浮点数,而Double只有16位有效数字(十进制),所以如果后端传给前端的值超过16位有效数字,该值就会被截断

对于Long类型,有64位,因此传递给前端必须转换成科学计数法

JS最大能够精确表示的整型值:2的53次方

 即双精度浮点数二进制所有有效数字是52+1=53位

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446002.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号