diff --git a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts index 51daec553..7ea82e884 100644 --- a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts +++ b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts @@ -40,6 +40,7 @@ export class PositionDetailDialog implements OnDestroy { public netPerformance: number; public netPerformancePercent: number; public quantity: number; + public quantityPrecision = 2; public symbol: string; public transactionCount: number; @@ -150,6 +151,18 @@ export class PositionDetailDialog implements OnDestroy { this.benchmarkDataItems[0].value = this.averagePrice; } + if (Number.isInteger(this.quantity)) { + this.quantityPrecision = 0; + } else if (assetSubClass === 'CRYPTOCURRENCY') { + if (this.quantity < 1) { + this.quantityPrecision = 7; + } else if (this.quantity < 1000) { + this.quantityPrecision = 5; + } else if (this.quantity > 10000000) { + this.quantityPrecision = 0; + } + } + this.changeDetectorRef.markForCheck(); } ); diff --git a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html index 75358616b..32e249c6d 100644 --- a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html +++ b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.html @@ -82,7 +82,7 @@ label="Quantity" size="medium" [locale]="data.locale" - [precision]="assetSubClass === 'CRYPTOCURRENCY' ? 5 : 2" + [precision]="quantityPrecision" [value]="quantity" >