Sponsored Content
Top Forums Shell Programming and Scripting Korn Shell manipulating the string into dynamic currency number Post 302944339 by Don Cragun on Tuesday 19th of May 2015 12:47:55 AM
Old 05-19-2015
What operating system are you using? What version of the Korn shell are you using?

On OS X, with ksh version sh (AT&T Research) 93u+ 2012-08-01, the following script (using the variables you specified in your 1st post):
Code:
#!/bin/ksh
for number_of_positions in 2 4
do	for input_string in 345987 1345987
	do	output_string=$(printf "%'.*f\n" $number_of_positions \
			$input_string)
		printf 'number_of_positions=%d\n' $number_of_positions
		printf 'input_string=%s\n' $input_string
		printf 'Output=%s\n\n' "$output_string"
	done
done

produces the output:
Code:
number_of_positions=2
input_string=345987
Output=345,987.00

number_of_positions=2
input_string=1345987
Output=1,345,987.00

number_of_positions=4
input_string=345987
Output=345,987.0000

number_of_positions=4
input_string=1345987
Output=1,345,987.0000

And, it produces the same output with or without the zero in the printf format string before the decimal point.

PS. In what way is ksh failing? What diagnostic does it print?

Last edited by Don Cragun; 05-19-2015 at 02:08 AM.. Reason: Add PS.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

shell to number and to string

Hello Does the unix korn shell provide a function to convert between number and string data-types regards Hrishy (1 Reply)
Discussion started by: xiamin
1 Replies

2. Shell Programming and Scripting

generate random number in korn shell

I want to be able to generate a random number within a korn shell script.. Preferably i would like to be able to state how many digits should be in this random number... ie 4 digits or 5 digits etc Any ideas? (2 Replies)
Discussion started by: frustrated1
2 Replies

3. Shell Programming and Scripting

Max number of parameters to korn shell?

Hi All, what is the maximum limit for the command line arguments in korn shell. Regards, Raju (4 Replies)
Discussion started by: rajus19
4 Replies

4. UNIX for Dummies Questions & Answers

string manipulating

I have a file like this: Tue Apr 15 10:41:47 MDT 2008 FINAL RESULT; 6 Tue Apr 15 10:41:47 MDT 2008 FINAL RESULT; 2 Tue Apr 15 10:41:47 MDT 2008 FINAL RESULT; 5 With this command seira=`cut -f 2 -d ';' tes.txt` i take all the results (6,2,5 etc) and i store them in variable seira When i do... (9 Replies)
Discussion started by: psalas
9 Replies

5. Shell Programming and Scripting

How to: Parse text string into variables using Korn shell

I am writing a script to keep check on free disk space, and I would like to find a way to parse $LINE (see code below) into a numeric value (for free disk space percentage) and a string value (for mount point). If possible, I would like to avoid sed or any additional use of awk since I am not very... (7 Replies)
Discussion started by: shew01
7 Replies

6. Shell Programming and Scripting

Korn Shell - Finding lowest number of a file.

I'm writing a KSH script that will get a file on the command line (such as input.txt), and in this file there is on number per line. The program needs to take the file, read each and determine the lowest number in the file. I currently have a while loop setup that will correctly out put every... (8 Replies)
Discussion started by: denyal
8 Replies

7. Shell Programming and Scripting

String parsing in Korn Shell

Hi everybody, I have a string stored in a variable called record: record="SNMPv2-SMI::ent.9.9.43.1.3.9.2 = Timeticks: (177330898) 20 days, 12:35:08.98" I want to write some regular expressions good for Korn Shell to extract the number between parenthesis, in this case 177330898, and put it in... (3 Replies)
Discussion started by: omoyne
3 Replies

8. Shell Programming and Scripting

[C SHELL] How to pass dynamic number of arguments

I have a task. The scenario is like this. I have a operation program (OPR1) , whose function is to simply double the (single)value it receives as input. I have to write a script to operate the OPR1 and save its output in a file. Later, I have to modify the script so as to be able to operate ... (0 Replies)
Discussion started by: animesharma
0 Replies

9. Shell Programming and Scripting

korn shell: check the content of a string of a variable

hello, i have a variable which should have following content : var="value1" or var="value2" or var="value2:*" # example: value2:22 how can i check : - if the content is ok (value1 / value2* ) - the two options of "value2" when content is example "value2:22" , i want to split... (3 Replies)
Discussion started by: bora99
3 Replies

10. Solaris

Korn shell - evaluating string gives wrong results due to limitations

Anyone ever seen this? Someone mentioned this the other day.... If you do, for instance, in korn shell, echo $(5.2+2.5), it gives the result of 6 regardless. Can't remember why but it was the limitation of the korn shell. (5 Replies)
Discussion started by: psychocandy
5 Replies
Locale::Currency(3pm)					 Perl Programmers Reference Guide				     Locale::Currency(3pm)

NAME
Locale::Currency - ISO three letter codes for currency identification (ISO 4217) SYNOPSIS
use Locale::Currency; $curr = code2currency('usd'); # $curr gets 'US Dollar' $code = currency2code('Euro'); # $code gets 'eur' @codes = all_currency_codes(); @names = all_currency_names(); DESCRIPTION
The "Locale::Currency" module provides access to the ISO three-letter codes for identifying currencies and funds, as defined in ISO 4217. You can either access the codes via the "conversion routines" (described below), or with the two functions which return lists of all cur- rency codes or all currency names. There are two special codes defined by the standard which aren't understood by this module: XTS Specifically reserved for testing purposes. XXX For transactions where no currency is involved. CONVERSION ROUTINES
There are two conversion routines: "code2currency()" and "currency2code()". code2currency() This function takes a three letter currency code and returns a string which contains the name of the currency identified. If the code is not a valid currency code, as defined by ISO 4217, then "undef" will be returned. $curr = code2currency($code); currency2code() This function takes a currency name and returns the corresponding three letter currency code, if such exists. If the argument could not be identified as a currency name, then "undef" will be returned. $code = currency2code('French Franc'); The case of the currency name is not important. See the section "KNOWN BUGS AND LIMITATIONS" below. QUERY ROUTINES
There are two function which can be used to obtain a list of all currency codes, or all currency names: "all_currency_codes()" Returns a list of all three-letter currency codes. The codes are guaranteed to be all lower-case, and not in any particular order. "all_currency_names()" Returns a list of all currency names for which there is a corresponding three-letter currency code. The names are capitalised, and not returned in any particular order. EXAMPLES
The following example illustrates use of the "code2currency()" function. The user is prompted for a currency code, and then told the cor- responding currency name: $| = 1; # turn off buffering print "Enter currency code: "; chop($code = <STDIN>); $curr = code2currency($code); if (defined $curr) { print "$code = $curr "; } else { print "'$code' is not a valid currency code! "; } KNOWN BUGS AND LIMITATIONS
o In the current implementation, all data is read in when the module is loaded, and then held in memory. A lazy implementation would be more memory friendly. o This module also includes the special codes which are not for a currency, such as Gold, Platinum, etc. This might cause a problem if you're using this module to display a list of currencies. Let Neil know if this does cause a problem, and we can do something about it. o ISO 4217 also defines a numeric code for each currency. Currency codes are not currently supported by this module, in the same way Locale::Country supports multiple codesets. o There are three cases where there is more than one code for the same currency name. Kwacha has two codes: mwk for Malawi, and zmk for Zambia. The Russian Ruble has two codes: rub and rur. The Belarussian Ruble has two codes: byr and byb. The currency2code() function only returns one code, so you might not get back the code you expected. SEE ALSO
Locale::Country ISO codes for identification of country (ISO 3166). Locale::Script ISO codes for identification of written scripts (ISO 15924). ISO 4217:1995 Code for the representation of currencies and funds. http://www.bsi-global.com/iso4217currency Official web page for the ISO 4217 maintenance agency. This has the latest list of codes, in MS Word format. Boo. AUTHOR
Michael Hennecke <hennecke@rz.uni-karlsruhe.de> and Neil Bowers <neil@bowers.com> COPYRIGHT
Copyright (C) 2002, Neil Bowers. Copyright (c) 2001 Michael Hennecke and Canon Research Centre Europe (CRE). This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.8.0 2002-06-01 Locale::Currency(3pm)
All times are GMT -4. The time now is 12:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy