diff --git a/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html b/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html
index b83a6ca520..1feb76035d 100644
--- a/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html
+++ b/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html
@@ -153,26 +153,35 @@
}
@if (fieldFormGroup.get('type').value === CalculatedFieldType.SIMPLE) {
-
-
- {{ (outputFormGroup.get('type').value === OutputType.Timeseries
- ? 'calculated-fields.timeseries-key'
- : 'calculated-fields.attribute-key')
- | translate }}
-
-
- @if (outputFormGroup.get('name').errors && outputFormGroup.get('name').touched) {
-
- @if (outputFormGroup.get('name').hasError('required')) {
- {{ 'common.hint.key-required' | translate }}
- } @else if (outputFormGroup.get('name').hasError('pattern')) {
- {{ 'common.hint.key-pattern' | translate }}
- } @else if (outputFormGroup.get('name').hasError('maxlength')) {
- {{ 'common.hint.key-max-length' | translate }}
- }
-
- }
-
+
+
+
+ {{ (outputFormGroup.get('type').value === OutputType.Timeseries
+ ? 'calculated-fields.timeseries-key'
+ : 'calculated-fields.attribute-key')
+ | translate }}
+
+
+ @if (outputFormGroup.get('name').errors && outputFormGroup.get('name').touched) {
+
+ @if (outputFormGroup.get('name').hasError('required')) {
+ {{ 'common.hint.key-required' | translate }}
+ } @else if (outputFormGroup.get('name').hasError('pattern')) {
+ {{ 'common.hint.key-pattern' | translate }}
+ } @else if (outputFormGroup.get('name').hasError('maxlength')) {
+ {{ 'common.hint.key-max-length' | translate }}
+ }
+
+ }
+
+
+ {{ 'calculated-fields.decimals-by-default' | translate }}
+
+ @if (outputFormGroup.get('decimalsByDefault').errors && outputFormGroup.get('decimalsByDefault').touched) {
+ {{ 'calculated-fields.hint.decimals-range' | translate }}
+ }
+
+
}
diff --git a/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.ts b/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.ts
index 757231364b..127c1c8c1c 100644
--- a/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.ts
+++ b/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.ts
@@ -33,7 +33,7 @@ import {
OutputType,
OutputTypeTranslations
} from '@shared/models/calculated-field.models';
-import { oneSpaceInsideRegex } from '@shared/models/regex.constants';
+import { digitsRegex, oneSpaceInsideRegex } from '@shared/models/regex.constants';
import { AttributeScope } from '@shared/models/telemetry/telemetry.models';
import { EntityType } from '@shared/models/entity-type.models';
import { map, startWith, switchMap } from 'rxjs/operators';
@@ -61,7 +61,8 @@ export class CalculatedFieldDialogComponent extends DialogComponent