社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Mehdi

Mehdi 最近回复了
6 年前
回复了 Mehdi 创建的主题 » 在python列表中查找浮点

根据 http://0.30000000000000004.com/

你的语言没有被破坏,它在做浮点运算。计算机只能以本机方式存储整数,因此需要某种方法 代表十进制数。这个陈述有一些 不准确程度。这就是为什么,经常是.1+.2!=3。

为什么会这样?其实很简单。当你有一个 基10系统(和我们的系统一样),它只能表示使用 基本要素。10的主因子是2和5。所以1/2, 1/4、1/5、1/8和1/10都可以清楚地表示,因为 分母都使用10的素数。相反,1/3,1/6,和 1/7都是重复小数,因为它们的分母使用素数 系数3或7。在二进制(或基2)中,唯一的素因子是2。 所以你只能把只包含2作为 主要因素。在二进制中,1/2、1/4、1/8都可以清晰地表示 作为小数。而1/5或1/10则是重复小数。所以0.1 和0.2(1/10和1/5),而在基数为10的系统中是干净的小数 在计算机正在运行的BASE2系统中重复小数。 当你在这些重复的小数上做数学运算时 当你转换计算机的基础2时遗留下来的剩菜 (二进制)一个人类可读性更强的基数10的数字。

编辑: 您试图在最后一行中显示$id;但是您在php代码中是在哪里设置的?

试试这个:

$con = mysqli_connect("localhost","DB_NAME","PWD");  
if (mysqli_connect_errno())  
{  
    echo "Failed to connect to MySQL: " . mysqli_connect_error();  
}  
mysqli_select_db($con,"DB") or die ("no database");   
$sql="SET @update_ID := 0;  
    UPDATE TABLE_234 SET PLAYERNAME = PETER, ID = (SELECT @update_ID := ID)  
    WHERE PLAYERNAME IS NULL  
    LIMIT 1;  
    SELECT @update_ID as ID";

if (mysqli_multi_query($con,$sql))
{
  do
    {
    // Store first result set
    if ($result=mysqli_store_result($con))
      {
        while ($row=mysqli_fetch_row($result))
        {

        $ID=$row[0];
        }
      }
    }
  while (mysqli_next_result($con));
}

echo "ID=" . $ID;  
mysqli_close($con);