2018.6.29

1.

解释一下下面代码的输出。
console.log(0.1 + 0.2); //0.30000000000000004
console.log(0.1 + 0.2 == 0.3); //false

JavaScript 中的 number 类型就是浮点型,JavaScript 中的浮点数采用IEEE-754 格式的规定,这是一种二进制表示法,可以精确地表示分数,比如 1/2,1/8,1/1024,每个浮点数占 64 位。但是,二进制浮点数表示法并不能精确的表示类似 0.1 这样 的简单的数字,会有舍入误差。
由于采用二进制,JavaScript 也不能有限表示 1/10、1/2 等这样的分数。在二进制中,1/10(0.1)被表示为 0.00110011001100110011…… 注意 0011 是无限重复的,这是舍入误差造成的,所以对于 0.1 + 0.2 这样的运算,操作数会先被转成二进制,然后再计算:
0.1 => 0.0001 1001 1001 1001…(无限循环)
0.2 => 0.0011 0011 0011 0011…(无限循环)
双精度浮点数的小数部分最多支持 52 位,所以两者相加之后得到这么一串 0.0100110011001100110011001100110011001100... 因浮点数小数位的限制而截断的二进制数字,这时候,再把它转换为十进制,就成了 0.30000000000000004。





2.




3

.

<think>好的,我现在需要处理用户的问题:如何下载特定版本的certifi库,具体是2018.11.29的tar.gz文件。首先,我得回忆一下常见的Python包安装方法,以及如何指定版本。 用户提到的是certifi 2018.11.29,我需要确定这个版本是否存在。通常,Python库的版本可以在PyPI上查找。我应该先建议用户使用pip安装指定版本,因为这是最直接的方法。命令应该是`pip install certifi==2018.11.29`,但不确定这个版本号是否正确。需要确认一下,比如certifi的版本通常是以年份加日期发布的,比如2018.11.29可能对应的是certifi 2018.11.29,但需要检查PyPI是否有这个版本。 接下来,如果用户需要的是tar.gz源码包,可以通过PyPI的URL直接下载。PyPI的包URL结构通常是https://pypi.org/project/certifi/#files,或者直接使用pip download命令。例如,`pip download certifi==2018.11.29 --no-binary :all:` 这会下载源代码包。 另外,用户之前的引用中提到了打包和解压的方法,比如引用[1]中的tar命令,这可能和用户的环境有关,比如需要在服务器上离线安装。因此,除了直接下载,用户可能需要手动下载后上传到服务器,然后安装。需要给出具体的下载链接,比如从PyPI获取历史版本。 然后,我需要检查用户提供的引用是否有帮助。引用[2]中的Python脚本是用来生成pip安装文件的,但用户可能不需要那么复杂,直接下载指定版本即可。引用[4]中显示了用户之前生成过requirements.txt,里面certifi是2020.6.20版本,但用户现在需要更旧的版本,所以需要指导如何修改requirements.txt并安装。 可能的问题点:用户可能没有正确使用pip版本,如引用[4]中提到用户用的是pip 9.0.3,而旧版本pip可能有时无法正确处理某些依赖或版本。可能需要建议用户升级pip,但用户的问题主要是下载特定版本,所以可能不需要优先处理这个,除非安装时出现问题。 总结步骤应该是:1)使用pip install指定版本;2)直接下载tar.gz文件;3)离线安装的方法。同时需要验证版本是否存在,比如访问PyPI页面查看可用版本。例如,certifi的发布历史显示,2018.11.29对应的版本是certifi==2018.11.29,确实存在。 最后,生成相关问题,比如如何安装其他特定版本的库,如何生成requirements.txt,或者如何处理依赖问题。</think>### 分步下载特定版本certifi库的方法 1. **通过pip直接安装指定版本** 使用以下命令安装certifi的2018.11.29版本: ```bash pip install certifi==2018.11.29 ``` 若需要强制从源代码构建(而非预编译二进制包),可添加`--no-binary`参数: ```bash pip install certifi==2018.11.29 --no-binary :all: ``` 2. **手动下载tar.gz文件** 访问PyPI的certifi项目页面([https://pypi.org/project/certifi/2018.11.29/#files](https://pypi.org/project/certifi/2018.11.29/#files)),直接下载`certifi-2018.11.29.tar.gz`文件。或通过命令行下载: ```bash pip download certifi==2018.11.29 --no-binary :all: ``` 3. **离线安装步骤** - 将下载的`certifi-2018.11.29.tar.gz`上传至服务器 - 解压并安装: ```bash tar -xzf certifi-2018.11.29.tar.gz cd certifi-2018.11.29 python setup.py install ``` 4. **版本验证** 安装后通过以下命令验证版本: ```bash python -c "import certifi; print(certifi.__version__)" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值