-
-
Save anonymous/fa134c55a4a43e8d6004 to your computer and use it in GitHub Desktop.
/** | |
* This method displays the given price on the screen. | |
*/ | |
private void displayPrice(int number) { | |
TextView priceTextView = (TextView) findViewById(R.id.price_text_view); | |
priceTextView.setText(NumberFormat.getCurrencyInstance().format(number)); | |
} |
Abdulmateenchitrali
commented
Jul 8, 2020
via email
Why there is so many errors in this code?
my code shows error in NumberFormat. please help me to solve this problem
@akarsh
thank you
ooskai @Abdulmateenchitrali you should delete import android.support.v7.app.AppCompatActivity; and write this : import androidx.appcompat.app.AppCompatActivity;
…
On Sun, Jul 19, 2020 at 7:50 PM Asuka @.> wrote: @.* commented on this gist. ------------------------------ @Abdulmateenchitrali https://github.com/Abdulmateenchitrali [image: Screen Shot 2020-07-19 at 21 48 52] https://user-images.githubusercontent.com/68496362/87881349-b0537f80-ca09-11ea-8b1c-288734ca985d.png how can I modify this errors? — You are receiving this because you commented. Reply to this email directly, view it on GitHub https://gist.github.com/fa134c55a4a43e8d6004#gistcomment-3383928, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQFJ5BAFOGA4FL3YBLWO5C3R4MW5JANCNFSM4H3KMDZA .
no need to do that
@tarek9999
@vijayindalkar
i wrote this like you say:
import androidx.appcompat.app.AppCompatActivity;
and the errors is gone+Thx
For all of those who are trying to get currency in their locale this will help
The lines of code you see below is exactly the same as display method the one you see in quantity_text_view
private void displayPrice(int number) {
TextView priceTextView = (TextView) findViewById(R.id.price_text_view);
priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
}
The major difference here is this line
priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
Now what exactly this line of code does is,it's adding the currecy symbol to your calculation like this $10.00
This whole line is just to get currency sign **(NumberFormat.getCurrencyInstance().format()
Now to change currency to your locale there are two ways:
Easy Way
- priceTextView.setText("₹"+number);
In this you provide your currency symbol directly inside these "" marks
This line is exactly same as one you see in display method but here your adding your currency sign to the number
In this way you don't get decimal numbers what i mean is you get like this ₹10
instead of this ₹10.00
Udacity Way
- Like i said above
This whole line is just to get currency sign (NumberFormat.getCurrencyInstance().format(number)
.
All we have to do is change it to your local like this
priceTextView.setText(NumberFormat.getCurrencyInstance(new Locale("en","IN")).format(number));
Above i've added this new Locale("en","IN")
new line inside of getCurrencyInstance()
By adding that line we are saying i want the currency to be in other local instead of default one with this new Locale()
Now we need to tell in what local we want the currency to be.
We say that by adding these "en" , "in"
-
"en" -This is language and i want it to be in ENGLISH.
-
"IN" -This is country since i'm INDIAN i say "IN"
HOPE THIS WILL HELP , THANK YOU!
what is wrong ?
Just look at the error message it tells you.
... Invalid character ....
<String name=...
can't use special characters like "$" or "#" or white character etc.
The resource name must start with a letter.
For all of those who are trying to get currency in their locale this will help
The lines of code you see below is exactly the same as display method the one you see in quantity_text_view
private void displayPrice(int number) { TextView priceTextView = (TextView) findViewById(R.id.price_text_view); priceTextView.setText(NumberFormat.getCurrencyInstance().format(number)); }
The major difference here is this line
priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
Now what exactly this line of code does is,it's adding the currecy symbol to your calculation like this $10.00
This whole line is just to get currency sign **
(NumberFormat.getCurrencyInstance().format()
Now to change currency to your locale there are two ways:
Easy Way
- priceTextView.setText("₹"+number);
In this you provide your currency symbol directly inside these "" marks
This line is exactly same as one you see in display method but here your adding your currency sign to the number
In this way you don't get decimal numbers what i mean is you get like this
₹10
instead of this₹10.00
Udacity Way
- Like i said above
This whole line is just to get currency sign
(NumberFormat.getCurrencyInstance().format(number)
.All we have to do is change it to your local like this
priceTextView.setText(NumberFormat.getCurrencyInstance(new Locale("en","IN")).format(number));
Above i've added this
new Locale("en","IN")
new line inside of getCurrencyInstance()By adding that line we are saying i want the currency to be in other local instead of default one with this
new Locale()
Now we need to tell in what local we want the currency to be.
We say that by adding these
"en" , "in"
- "en" -This is language and i want it to be in ENGLISH.
- "IN" -This is country since i'm INDIAN i say "IN"
HOPE THIS WILL HELP , THANK YOU!
That was really awesome Thanks!
TIP:
The currency used is the one your phone uses, not what is set on your computer. Some phones don't allow you to change the currency explicitly, but your selected language on the phone dictates this, for example choosing English (United Kingdom) will automatically set the currency to "£" (Pounds).
On a Samsung phone in most cases this can be set under Options->Controls->Language and Input
Thnx Buddy!!! It Resolves my problem.
@chekwon78 Do try adding a TextView in activity_main.xml and assign it an id like this
android:id="@+id/price_text_view"
.
Thanks soo much ,it worked for me
It's ok, solved by adding "import java.text.NumberFormat;" . thanks.
don't why my app is crashing after clicking on the ORDER button
Code of [chetan081] approach
private void displayPrice(int number) {
TextView priceTextView = (TextView) findViewById(R.id.price);
priceTextView.setText("₹ "+ number);
}
After latest update of Android studio it should be this code in Kotlin:
/**
* This method displays the given price on the screen.
*/
private fun displayPrice(number: Int) {
val priceTextView = findViewById(com.example.justjava.R.id.price_text_view) as TextView
priceTextView.setText(java.text.NumberFormat.getCurrencyInstance().format(number))
}
Code segment works fine the problem is that the emulator got crushed every time after running the program:
private void displayPrice(int number) {
TextView priceTextView = (TextView) findViewById(R.id.price_text_view);
priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
}
For all of those who are trying to get currency in their locale this will help
The lines of code you see below is exactly the same as display method the one you see in quantity_text_view
private void displayPrice(int number) { TextView priceTextView = (TextView) findViewById(R.id.price_text_view); priceTextView.setText(NumberFormat.getCurrencyInstance().format(number)); }
The major difference here is this line
priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
Now what exactly this line of code does is,it's adding the currecy symbol to your calculation like this $10.00
This whole line is just to get currency sign **
(NumberFormat.getCurrencyInstance().format()
Now to change currency to your locale there are two ways:
Easy Way
- priceTextView.setText("₹"+number);
In this you provide your currency symbol directly inside these "" marks
This line is exactly same as one you see in display method but here your adding your currency sign to the number
In this way you don't get decimal numbers what i mean is you get like this
₹10
instead of this₹10.00
Udacity Way
- Like i said above
This whole line is just to get currency sign
(NumberFormat.getCurrencyInstance().format(number)
.All we have to do is change it to your local like this
priceTextView.setText(NumberFormat.getCurrencyInstance(new Locale("en","IN")).format(number));
Above i've added this
new Locale("en","IN")
new line inside of getCurrencyInstance()By adding that line we are saying i want the currency to be in other local instead of default one with this
new Locale()
Now we need to tell in what local we want the currency to be.
We say that by adding these
"en" , "in"
- "en" -This is language and i want it to be in ENGLISH.
- "IN" -This is country since i'm INDIAN i say "IN"
HOPE THIS WILL HELP , THANK YOU!
Thank you! It works.