Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将货币转换为字符串_Php - Fatal编程技术网

PHP将货币转换为字符串

PHP将货币转换为字符串,php,Php,我有一段代码,它在我的页面上创建了一个进度条,显示用户在分配的金额之外花费了多少 $roof=75 $total=275.00这工作正常 $total=1202.00由于逗号的缘故,此命令中断 <div class="progress"> <div class="progress-bar <?php if($total > $roof) { echo 'progress-bar-danger'; } ?>" role="pro

我有一段代码,它在我的页面上创建了一个进度条,显示用户在分配的金额之外花费了多少

$roof=75

$total=275.00
这工作正常

$total=1202.00
由于逗号的缘故,此命令中断

<div class="progress">
                 <div class="progress-bar <?php if($total > $roof) { echo 'progress-bar-danger'; } ?>" role="progressbar" aria-valuenow="<?php echo $total ; ?>" aria-valuemin="0" aria-valuemax="<?php echo $roof ; ?>" style="width: <?php echo $total ; ?>%;">$<?php echo $total ; ?> of $<?php echo $roof ; ?> cap</div>
              </div>

单向:

$total = str_replace(',', '', $total);
单向:

$total = str_replace(',', '', $total);
单向:

$total = str_replace(',', '', $total);
单向:

$total = str_replace(',', '', $total);

您不应该对已格式化的字符串执行任何逻辑。保持
$total
为一个干净的整数或浮点,只在输出上添加小数点和千位分隔符

PHP为此提供了有用的功能

<?php
// Central function that is responsible to format currency
// values for display
function formatMoney($sum) {
    $formattedString = number_format($sum, 2, "." , ",");

    return $formattedString
}

$roof = 1000;
$total = 1202;
?>
<div>
    <?php
    // Format the number just for output:
    echo formatMoney($total);

    // $total remains a number:
    if ($total > $roof) {
        echo "warning";
    }
    ?>
</div>

现在,您可以再次将其用作数字,并将其用于类似于
$total>$roof

您不应该对已格式化的字符串执行任何逻辑操作。保持
$total
为一个干净的整数或浮点,只在输出上添加小数点和千位分隔符

PHP为此提供了有用的功能

<?php
// Central function that is responsible to format currency
// values for display
function formatMoney($sum) {
    $formattedString = number_format($sum, 2, "." , ",");

    return $formattedString
}

$roof = 1000;
$total = 1202;
?>
<div>
    <?php
    // Format the number just for output:
    echo formatMoney($total);

    // $total remains a number:
    if ($total > $roof) {
        echo "warning";
    }
    ?>
</div>

现在,您可以再次将其用作数字,并将其用于类似于
$total>$roof

您不应该对已格式化的字符串执行任何逻辑操作。保持
$total
为一个干净的整数或浮点,只在输出上添加小数点和千位分隔符

PHP为此提供了有用的功能

<?php
// Central function that is responsible to format currency
// values for display
function formatMoney($sum) {
    $formattedString = number_format($sum, 2, "." , ",");

    return $formattedString
}

$roof = 1000;
$total = 1202;
?>
<div>
    <?php
    // Format the number just for output:
    echo formatMoney($total);

    // $total remains a number:
    if ($total > $roof) {
        echo "warning";
    }
    ?>
</div>

现在,您可以再次将其用作数字,并将其用于类似于
$total>$roof

您不应该对已格式化的字符串执行任何逻辑操作。保持
$total
为一个干净的整数或浮点,只在输出上添加小数点和千位分隔符

PHP为此提供了有用的功能

<?php
// Central function that is responsible to format currency
// values for display
function formatMoney($sum) {
    $formattedString = number_format($sum, 2, "." , ",");

    return $formattedString
}

$roof = 1000;
$total = 1202;
?>
<div>
    <?php
    // Format the number just for output:
    echo formatMoney($total);

    // $total remains a number:
    if ($total > $roof) {
        echo "warning";
    }
    ?>
</div>



现在,您可以再次将其用作数字,并将其用于类似
$total>$roof

使用echo number\u格式($total),您无需自行设置格式

使用echo number\u格式($total),您无需自行设置格式

使用echo number\u格式($total),您无需自行设置格式

使用echo number\u格式($total),您无需自行设置格式

使用str_replace()将逗号替换为点,
$total
的值从何而来?它是从数据库等动态提取的还是您提供的?它来自数据库使用str_replace()将逗号替换为点,
$total
的值来自何处?它是从数据库等动态提取的还是您提供的?它来自数据库使用str_replace()将逗号替换为点,
$total
的值来自何处?它是从数据库等动态提取的还是您提供的?它来自数据库使用str_replace()将逗号替换为点,
$total
的值来自何处?它是从数据库等动态提取的,还是您提供的?它来自数据库OP需要格式良好的输出(带有数千个分隔符)。拆下分离器没有任何好处。此外,$total应该是一个float(real),但是使用千位分隔符格式化它需要一个string.OPs问题是像
$total>$roof
这样的比较不能用于格式化输出。因此,删除分隔符确实是返回实际数字的起点。OP需要格式良好的输出(带有数千个分隔符)。拆下分离器没有任何好处。此外,$total应该是一个float(real),但是使用千位分隔符格式化它需要一个string.OPs问题是像
$total>$roof
这样的比较不能用于格式化输出。因此,删除分隔符确实是返回实际数字的起点。OP需要格式良好的输出(带有数千个分隔符)。拆下分离器没有任何好处。此外,$total应该是一个float(real),但是使用千位分隔符格式化它需要一个string.OPs问题是像
$total>$roof
这样的比较不能用于格式化输出。因此,删除分隔符确实是返回实际数字的起点。OP需要格式良好的输出(带有数千个分隔符)。拆下分离器没有任何好处。此外,$total应该是一个float(real),但是使用千位分隔符格式化它需要一个string.OPs问题是像
$total>$roof
这样的比较不能用于格式化输出。因此,删除分隔符确实是返回实际数字的起点。我在表中以“Money”的形式存储数据,因此它们看起来像这样
25.0000
。这个过程似乎不起作用,如果您将这些值作为字符串存储在数据库中,您需要更改它。问题很明显:你不能用这些“数字”做任何比较或计算。如果无法更改应用程序设计,则需要小心地将字符串转换回实际数字。我可以根据需要更改前端,数据以
money
数据类型存储在数据库中,该数据库的格式如下
25.0000
。我更新了我的答案,建议将字符串转换回float。只是出于好奇:您使用的是哪个数据库?我在表中以“money”的形式存储数据,因此它们看起来像
25.0000
。这个过程似乎不起作用,如果您将这些值作为字符串存储在数据库中,您需要更改它。问题很明显:你不能用这些“数字”做任何比较或计算。如果无法更改应用程序设计,则需要小心地将字符串转换回实际数字。我可以根据需要更改前端,数据以
money
数据类型存储在数据库中,该数据库的格式如下
25.0000
。我更新了我的答案,建议将字符串转换回浮点数。出于好奇:您使用的是哪个数据库?我将数据存储在我的