十进制值的固定条件

时间:2018-04-20 07:22:40

标签: javascript tofixed

我有一个十进制格式的API,如89.9999,我已经使用了固定并四舍五入到89.90。但问题是如果我得到90的值,因为toFixed它显示为90.00,因为我只需要90.有没有办法实现这个?

我尝试进行基本计算的代码是:

(...) new MeterDTO(m.id, m.trans_ratio, g.kart.lsk (...)

4 个答案:

答案 0 :(得分:2)

如果值是小数,您可以使用模%来检测,所以您可以像下面这样进行

var value = n % 1 !== 0 ? n.toFixed(2) : n;

答案 1 :(得分:1)

您可以使用Integer%1

进行检查
  

每当我们使用0时,如果我们使用Float%1,它将返回0.####,它将返回一些点值,如function setToFixed(v) { console.log(v % 1 ? v.toFixed(2) : v) } setToFixed(90) setToFixed(89.7589999)

<强>样本

.as-console-wrapper { max-height: 100% !important; top: 0; }
{{1}}

答案 2 :(得分:0)

slice后使用toFixed删除跟踪.00(如果存在):

&#13;
&#13;
const getPerc = num => {
  const str = num.toFixed(2);
  if (str.slice(-2) === '00') return str.slice(0, str.length - 3);
  return str;
}
console.log(getPerc(90));
console.log(getPerc(89.9999));
console.log(getPerc(89.55));
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您可以尝试:

<ItemsControl ItemsSource="{Binding Foos}" Grid.Column="0">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Button Tag="{Binding FooName}" Click="SelectFoo" Cursor="Hand">
                <Image Height="100" Width="100" Source="{Binding ImageUrl}"/>

                <Button.Template>
                    <ControlTemplate TargetType="Button">
                        <Border BorderThickness="1" CornerRadius="3">
                            <ContentPresenter 
                                Margin="1"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Center"
                                RecognizesAccessKey="True"/>

                            <Border.Style>
                                <Style TargetType="Border">
                                    <Setter Property="Background" Value="#292929"/>
                                    <Style.Triggers>
                                        <Trigger Property="IsMouseOver" Value="True">
                                            <Setter Property="BorderBrush" Value="Firebrick"/>
                                        </Trigger>
                                        <DataTrigger Binding="{Binding IsSelected}" Value="True">
                                            <Setter Property="BorderBrush" Value="Firebrick" />
                                        </DataTrigger>
                                    </Style.Triggers>
                                </Style>
                            </Border.Style>
                        </Border>
                    </ControlTemplate>
                </Button.Template>
            </Button>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>