当前位置: 首页 > 知识库问答 >
问题:

角显示十进制值为百分比[重复]

吴修洁
2023-03-14

我有一个数字文本框,显示百分比值,并允许用户更新它在角应用程序。

            <label for="fees">Fees %</label>
            <div class="input-group">
                <input type="number" class="form-control" id="fees" name="fees"
                 [(ngModel)]=feesPercentage">
                <div class="input-group-prepend">
                    <span class="input-group-text" id="FeesSign">%</span>
                </div>
            </div>

feespercent作为十进制值存储在模型中(例如0.15)。是否有一个管道可以在文本框中以百分比形式显示值(例如15),同时在模型中仍然保持值为十进制。例如。如果用户将它从15更新到16,我想将模型值更改为0.16。我不需要在文本框中显示“%”符号。

共有1个答案

楚俊逸
2023-03-14

管道是十进制管道:

https://angular.io/api/common/decimalpipe

正常用法如下所示:

{{ (feesPercentage * 100) | number: '1:0-0' }}

在。ts文件中:

get feesPercentageAsInteger(): number {
  return Math.round(this.feesPercentage * 100)
}

然后在HTML中:

[ngModel]="feesPercentageAsInteger" 
(ngModelChange)="updateFeesPercentage($event)"

然后在。ts文件中:

updateFeesPercentage(value) {
  this.feesPercentage = parseInt(value, 10) / 100; // using parseInt here because I think value will be a string (but parseInt will also work if its a number)
}
[ngModel]="(feesPercentage * 100) | round" 
(ngModelChange)="updateFeesPercentage($event)"
updateFeesPercentage(value) {
  this.feesPercentage = parseInt(value, 10) / 100;
}

注意:同样,如果精度损失是一个问题,那么在您的定制圆管中使用Math.Floor而不是Math.round将确保您不会损失精度。

注意:使用step属性对您有帮助吗?可能不会,但只是一个提醒...https://stackoverflow.com/a/22641142/1205871

 类似资料:
  • 问题内容: 我正在使用Firebird数据库,正在尝试以下sql,但每次它返回0而不是0.61538(等等)。 现在,当我删除/ 26时,totalcount会返回16。但是,当我将26除后,结果显示为0,但应显示为完整的十进制值0.615384 …有人知道为什么它不返回完整值吗?我什至尝试将其包装在CAST((count(myfield)/ 26)中为double)totalcount,但它仍返

  • 我有一个带有四个标签的图表: 使用plugin,我想用以下代码显示每个饼图中的百分比值: 我得到的是所有饼片的100%价值,而不是各自的百分比。这是JSFIDLE(https://jsfiddle.net/kingBethal/a1Lvn4eb/7/)

  • **了解更多信息:总上传时间为15分钟,但进度百分比在一秒钟内完成。

  • 问题内容: 我希望所有值都显示为十六进制 问题答案: 那他呢 该表达式是所谓的 列表理解 。基本上,这是编写简单循环并根据结果创建列表的非常紧凑的方式。 的内置函数采用一个字符串,并把它转换成一个整数其相应的Unicode代码点(在ASCII字符集这是与它们在ASCII表值中的字符)这是。 对于8bit字符串或unicode对象,它的对应内容与此相反。 然后,内建函数将整数简单地转换为十六进制表示

  • 有没有办法防止对象自动将小数点向右移动两位? 此代码: 产生: 但是我希望它能产生:

  • 我有下面的java代码,它接受RGB颜色的三个双倍值(0和1之间)并将它们转换为十进制格式。我明白了第一个8位如何保存颜色x,第二个8位颜色y...以及如何从结果二进制中获得十进制值。我100%不明白的是为什么我们用255乘以(我知道128 64 32 16 8 4 2 1)。我们到底从用255乘以双倍值得到了什么。它是一个可以存储在8位中的值吗?为什么我们不使用256(一种颜色的可能数量)? 谢