cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
redlyst
Regular Visitor

Force Text Input Format Number to Comma or Dot?

 

So, when I type 1000000 in that field, its automatically force to 1.000.000, how to do that? 

 

1 ACCEPTED SOLUTION

Accepted Solutions
RusselThomas
Microsoft
Microsoft

Hi redlyst,

 

You can try the Text() function to format numbers using commas and periods.

I'm not sure how you can format input numbers while typing though - functions generally get applied to an existing value.

 

To illustrate;

 

Create Text Input TextInput1 and set the Format property to TextFormat.Number 

Create Text Label Label1

 

Set the Text property of Label1 to;

Text(Value(TextInput1.Text),"[$-en-US]###,###,###.00")

The Text() function with number formatting looks for a number to apply the formatting to, hence the Value() function wrapper.

 

What you type into the input will be replicated to the label, but with formatting.

Like I said though, formatting as you type, or pre-formatting input controls is not something I know how to do.  You could possibly put the input field over the label and make it transparent to give an effect of formatting as you type...but this could have weird results when tabbing through or selecting everything in the input control, unless it's 100% aligned.

 

Hope this helps,


RT

 

View solution in original post

4 REPLIES 4
RusselThomas
Microsoft
Microsoft

Hi redlyst,

 

You can try the Text() function to format numbers using commas and periods.

I'm not sure how you can format input numbers while typing though - functions generally get applied to an existing value.

 

To illustrate;

 

Create Text Input TextInput1 and set the Format property to TextFormat.Number 

Create Text Label Label1

 

Set the Text property of Label1 to;

Text(Value(TextInput1.Text),"[$-en-US]###,###,###.00")

The Text() function with number formatting looks for a number to apply the formatting to, hence the Value() function wrapper.

 

What you type into the input will be replicated to the label, but with formatting.

Like I said though, formatting as you type, or pre-formatting input controls is not something I know how to do.  You could possibly put the input field over the label and make it transparent to give an effect of formatting as you type...but this could have weird results when tabbing through or selecting everything in the input control, unless it's 100% aligned.

 

Hope this helps,


RT

 

Anonymous
Not applicable

@redlyst @RusselThomas @

 

You can set the default value of the inputbox with a variable, after which you set the variable to the newly input value, and then reset the value of the input text field.

On the default value of the field:

 

Set(Variable,Text(Value(TextInput1.Text),"[$-en-US]###,###,###.00"));Reset(TextInput1)

Anonymous
Not applicable

Apologies, the formuyla should be on the OnChange field, and the default value of the field should be changed to the variable name

RickJ
Advocate I
Advocate I

Nice solution @Anonymous - also if wanting to set the default from a table, I check if the variable is blank, if it is I use the value from the datasource, and make sure I clear the variable on OnHidden. 

Helpful resources

Announcements
Power Platform Call June 2022 768x460.png

Power Platform Community Call

Join us for the next call on August 17, 2022 at 8am PDT.

Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

Users online (4,004)