Number Formatting from $100000 to $100 000,00 - number-formatting

Can someone please help format this number: $100000 to $100 000,00. (in words: Hundred Thousand dollars) or if million it must format $100000 to $1 000 000,00
I only know of the standard .NET decimal.ToString( "N2" ) e.g.
decimal number = 1000000d;
string formatedNumber = number.ToString( "N2" ); // This will give you 1,00,000.00
Is there a standard .NET format I can re-use or will I have to create my own?

decimal number = 1000000;
Console.WriteLine(number.ToString("C"), System.Globalization.CultureInfo.CreateSpecificCulture("en-US")); // 1 000.000,00
'C' stands for currency, so yes, there is a standard format for it.

Related

How to reformat dates?

Hello currently my dates are stored as numeric in the form of 40547. How can I convert these to MMDDYY10.?
data SevenSec11;
set Seven11;
DateRecieved = input(put(DateRecieved, 8.), MMDDYY10.);
format DateRecieved MMDDYY10.;
run;
How to convert it depends on what the value represents. If it is dates as stored by Excel then change the offset value. If it is supposed to represent MMDDYY values then use the Z6. format in your PUT() function call.
data test;
input num ;
sasdate1 = num + '30DEC1899'd ;
sasdate2 = input(put(num ,z6.),mmddyy10.);
format num comma7. sasdate: yymmdd10. ;
cards;
40547
;
Result:
Obs num sasdate1 sasdate2
1 40,547 2011-01-04 1947-04-05
Note that using Y-M-D order for dates will eliminate confusion that truncated leading zeros can cause. It will also prevent half of your audience from confusing April 5th with May 4th.

How do you truncate or round numbers by units NOT decimals?

I have dates and times in number format of YYYYMMDDHHMMSS. As a group by for a sum, I want to have the ability to group by:
YYYYMM
YYYYMMDD
YYYYMMDDHH
I have previously used this below, but it converts it into a string, which isn't great:
"sum_by_date": { $substrBytes: [ "$_id.transaction_date", 0, 7
] }
What I want to achieve from 20181217134218 for by month is either:
201812 or 20181200000000 and kept as a number format.
Thanks, Matt
Use integer division to truncate the number. In Ruby:
(20181217134218 / 100000000) * 100000000 # = 20181200000000

Currency amount must be non-negative number, may optionally contain exactly 2 decimal places separated by '.'

When I use the vue-paypal-check:
<PayPal amount="amount"
currency="USD"
:client="credentials"
env="sandbox"
>
</Paypal>
...
computed: {
amount() {
var total_price = Number(this.product_physical_session_storage_from_before.total_price_local)
var abs_total_price = Math.abs(total_price.toFixed(2))
return abs_total_price // there is Number `120.00`
}
},
I get bellow error:
{"name":"VALIDATION_ERROR","details":[{"field":"transactions[0].amount.total","issue":"Currency amount must be non-negative number, may optionally contain exactly 2 decimal places separated by '.', optional thousands separator ',', limited to 7 digits before the decimal point"}],"message":"Invalid request - see details","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR","debug_id":"efa7b058ad30e"}
Afterwards I found the issue, I was follow the GitHub steps:
<PayPal
amount="10.00"
currency="USD"
:client="credentials">
</PayPal>
the 10.00 is the given number, I'm passing a variable, I should use the
<PayPal
:amount="amount"
currency="USD"
:client="credentials">
</PayPal>
Then I solved my problem.

How can I format a number as currency in Perl?

How I can format this for example:
100000 as 1000.00
and
90 as 0.90
using Perl?
I found and try with some modules like Locale::Currency::Format and Number::Format, but nothing work :/
With Locale::Currency::Format I try:
use Locale::Currency::Format;
my $total = 19750;
my $convert = currency_format('USD',$total,'FMT_COMMON');
print $convert;
I've expect 197.50 but the print are "19,750.00 USD".
my $formatted = sprintf '%.2f', $number/100.0;
In US currency we count dollars, not cents. If you want to use integers representing pennies to avoid rounding errors, that's great; good practice. But it's up to you to divide by 100 to get human-legible output in the standard format.
The sprintf function (string print formatted, originally from the C standard library and now found in many programming languages) will format numbers in a variety of ways. In this case, the format string %.2f requests output of a floating-point (i.e. decimal, fractional, real, non-integer) number with 2 digits after the decimal point.
To convert cents into dollars, divide by 100!
sprintf("%.2f", $total/100) # 197.50
or
currency_format('USD', $total/100, 'FMT_COMMON') # 197.50 USD
Update for late 2022:
Using this method:
use Locale::Currency::Format;
...
$dollars = currency_format('USD',1,624.98,FMT_SYMBOL);
Outputs this:
$1.00
I have just run into this issue and had to insert this before the format:
use Locale::Currency::Format;
...
$dollars =~ s/\,//g; #<----------
$dollars = currency_format('USD',$dollars,FMT_SYMBOL);

format of read file in fortran

What should be the read format of the of following dataset in fortran. there are 6 spaces between column 1 and 2 with no space of column 1 from margin.
1911.01.01 2.42873702403226
1911.01.02 3.5057043827303
1911.01.03 2.73602527398387
1911.01.04 6.07213767208333
1911.01.05 6.94818901068145
1911.01.06 3.66986589769583
1911.01.07 1.94565994542339
1911.01.08 2.39384275272177
1911.01.09 3.05526130775417
1911.01.10 2.69990836499194
1911.01.11 6.08406263835833
1911.01.12 7.34200241064516
1911.01.13 2.42873702403226
1911.01.14 3.5057043827303
1911.01.15 2.73602527398387
1911.01.16 6.07213767208333
1911.01.17 6.94818901068145
1911.01.18 3.66986589769583
1911.01.19 1.94565994542339
1911.01.20 2.39384275272177
1911.01.21 3.05526130775417
1911.01.22 2.69990836499194
1911.01.23 6.08406263835833
1911.01.24 7.34200241064516
1911.01.25 2.42873702403226
1911.01.26 3.5057043827303
1911.01.27 2.73602527398387
1911.01.28 6.07213767208333
1911.01.29 6.94818901068145
1911.01.30 3.66986589769583
1911.01.31 1.94565994542339
I tried.....
format (i4,i2,i2,6x,d9.14)
but it didnt work
thanks in advance
elisa
So try
(i4,a1,i2,a1,i2,6x,d16.14)
I think you've made two mistakes:
Not accounting for the . characters in the dates, I don't think that they will automatically be treated as field separators (as , or spaces would be). Obviously you'll want to ignore them.
In your d edit descriptor the number of decimal digits, that is the number after the . ought to be no greater than the total field width, ie the number before the ..