Sponsored Content
Top Forums Shell Programming and Scripting awk calculation automatically rounding off the output Post 302683055 by elixir_sinari on Tuesday 7th of August 2012 07:02:03 AM
Old 08-07-2012
Set CONVFMT to a proper value:
Code:
awk 'BEGIN { 
CONVFMT="%-20.6f"
a=6.32498922
a1=6.324
b=52
c=12.65
 
d=(a*b/c)
d1=(a1*b/c)
 
printf(" d = %s;",d)
printf(" d1 = %s\n",d1)
 
result1=d*300
result2=d1*300
 
printf(" result1=> %s\n",result1)
printf(" result2=> %s\n",result2)
}'

which gives
Code:
 d = 25.999956           ; d1 = 25.995889
 result1=> 7799.986706
 result2=> 7798.766798

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk calculation

Hallo all, I have a script which creates an output ... see below: root@a7germ:/tmp/pax > cat 20061117.txt 523.047 521.273 521.034 517.367 516.553 517.793 513.114 513.940 I would like to use awk to calculate the (a)total sum of the numbers (b) The average of the numbers. Please... (4 Replies)
Discussion started by: kekanap
4 Replies

2. UNIX for Dummies Questions & Answers

Annoying rounding issue in awk

Hello I am getting this very annoying issue in awk: awk '{a=12825;b=a*1.25; print b}' test 16031.2 Thing is the multiplication result is wrong... Result should be 16031.25. I think the issue only happens on bigger numbers. What can I do to get passed this? Thanks by advance (3 Replies)
Discussion started by: Indalecio
3 Replies

3. Shell Programming and Scripting

Rounding issue with awk

Hi Friends, I am trying to round following number. 0.07435000 echo "0.07435000"|awk '{printf "%s\n",$1*100}'|awk '{printf "%.2f\n",$1}' It returns: 7.435 It should return: 7.44 Any suggestion please? Thanks, Prashant (2 Replies)
Discussion started by: ppat7046
2 Replies

4. Shell Programming and Scripting

AWK rounding up numbers

Hi, I have managed to round up numbers by using the following command: echo "5.54" | awk '{printf "%.0f\n", $1}' result 6 How can I round up all the numbers in a column in a file and print the lines with the new calculated totals? Thanks, (3 Replies)
Discussion started by: keenboy100
3 Replies

5. Shell Programming and Scripting

awk, floating point and rounding

I had a person bring an interesting problem to me that appears to involve some sort of rounding inside awk. I've verified this with awk and nawk on Solaris as well as with gawk 3.1.5 on a Linux box. The original code fragment he brought me was thus: for (index=0; index < 1; index=index+.1) ... (4 Replies)
Discussion started by: mmyer2
4 Replies

6. Shell Programming and Scripting

printf (awk,perl,shell) float rounding issue

Hi guys, could someone throw some light on the following behaviour of printf (I'll start with info about the system and the tool/shell/interpreter versions)?: $ uname -a Linux linux-86if.site 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64... (9 Replies)
Discussion started by: elixir_sinari
9 Replies

7. Shell Programming and Scripting

[awk] rounding a float number?

Heyas Trying to calculate the total size of a file by reading its bitrate. Code snippet: fs_expected() { # # Returns the expected filesize in bytes # pr_str() { ff=$(cat $TMP.info) d="${ff#*bitrate: }" echo "${d%%,*}" | $AWK '{print $1}' | head -n 1 } t_BYTERATE=$((... (9 Replies)
Discussion started by: sea
9 Replies

8. Shell Programming and Scripting

awk split and awk calculation in the same command

I am trying to run the awk below. My question is when I split the input, then run anotherawk to perform a calculation using that splitas the input there are no issues. When I try to combine them the output is not correct, is the split not working or did I do it wrong? Thank you :). input ... (8 Replies)
Discussion started by: cmccabe
8 Replies

9. Shell Programming and Scripting

awk calculation wrong field output

The awk below is close but I can't seem to fix it to produce the desired output. Thank you :). current awk with output awk '{c1++; c2+=($2)} END{for (e in c1) print e, c1, c2}' input EFCAB5 2 50 USH2A 2 19 desired... (8 Replies)
Discussion started by: cmccabe
8 Replies

10. Shell Programming and Scripting

awk calculation with zero as N/A

In the below awk, I am trying to calculate percent for a given id. It is very close the problem is when the # being used in the calculation is zero. I am not sure how to code this condition into the awk as it happens frequently. The portion in italics was an attempt but that lead to an error. Thank... (13 Replies)
Discussion started by: cmccabe
13 Replies
hunspell(3)						     Library Functions Manual						       hunspell(3)

NAME
hunspell - spell checking, stemming, morphological generation and analysis SYNOPSIS
#include <hunspell/hunspell.hxx> /* or */ #include <hunspell/hunspell.h> Hunspell(const char *affpath, const char *dpath); Hunspell(const char *affpath, const char *dpath, const char * key); ~Hunspell(); int add_dic(const char *dpath); int add_dic(const char *dpath, const char *key); int spell(const char *word); int spell(const char *word, int *info, char **root); int suggest(char***slst, const char *word); int analyze(char***slst, const char *word); int stem(char***slst, const char *word); int stem(char***slst, char **morph, int n); int generate(char***slst, const char *word, const char *word2); int generate(char***slst, const char *word, char **desc, int n); void free_list(char ***slst, int n); int add(const char *word); int add_with_affix(const char *word, const char *example); int remove(const char *word); char * get_dic_encoding(); const char * get_wordchars(); unsigned short * get_wordchars_utf16(int *len); struct cs_info * get_csconv(); const char * get_version(); DESCRIPTION
The Hunspell library routines give the user word-level linguistic functions: spell checking and correction, stemming, morphological generation and analysis in item-and-arrangement style. The optional C header contains the C interface of the C++ library with Hunspell_create and Hunspell_destroy constructor and destructor, and an extra HunHandle parameter (the allocated object) in the wrapper functions (see in the C header file hunspell.h). The basic spelling functions, spell() and suggest() can be used for stemming, morphological generation and analysis by XML input texts (see XML API). Constructor and destructor Hunspell's constructor needs paths of the affix and dictionary files. See the hunspell(4) manual page for the dictionary format. Optional key parameter is for dictionaries encrypted by the hzip tool of the Hunspell distribution. Extra dictionaries The add_dic() function load an extra dictionary file. The extra dictionaries use the affix file of the allocated Hunspell object. Maximal number of the extra dictionaries is limited in the source code (20). Spelling and correction The spell() function returns non-zero, if the input word is recognised by the spell checker, and a zero value if not. Optional reference variables return a bit array (info) and the root word of the input word. Info bits checked with the SPELL_COMPOUND and SPELL_FORBIDDEN macros sign compound words and explicit forbidden words. The suggest() function has two input parameters, a reference variable of the output suggestion list, and an input word. The function returns the number of the suggestions. The reference variable will contain the address of the newly allocated suggestion list or NULL, if the return value of suggest() is zero. Maximal number of the suggestions is limited in the source code. The spell() and suggest() can recognize XML input, see the XML API section. Morphological functions The plain stem() and analyze() functions are similar to the suggest(), but instead of suggestions, return stems and results of the morphological analysis. The plain generate() waits a second word, too. This extra word and its affixation will be the model of the morphological generation of the requested forms of the first word. The extended stem() and generate() use the results of a morphological analysis: char ** result, result2; int n1 = analyze(&result, "words"); int n2 = stem(&result2, result, n1); The morphological annotation of the Hunspell library has fixed (two letter and a colon) field identifiers, see the hunspell(4) manual page. char ** result; char * affix = "is:plural"; // description depends from dictionaries, too int n = generate(&result, "word", &affix, 1); for (int i = 0; i < n; i++) printf("%s0, result[i]); Memory deallocation The free_list() function frees the memory allocated by suggest(), analyze, generate and stem() functions. Other functions The add(), add_with_affix() and remove() are helper functions of a personal dictionary implementation to add and remove words from the base dictionary in run-time. The add_with_affix() uses a second word as a model of the enabled affixation of the new word. The get_dic_encoding() function returns "ISO8859-1" or the character encoding defined in the affix file with the "SET" keyword. The get_csconv() function returns the 8-bit character case table of the encoding of the dictionary. The get_wordchars() and get_wordchars_utf16() return the extra word characters definied in affix file for tokenization by the "WORDCHARS" keyword. The get_version() returns the version string of the library. XML API The spell() function returns non-zero for the "<?xml?>" input indicating the XML API support. The suggest() function stems, analyzes and generates the forms of the input word, if it was added by one of the following "SPELLML" syntaxes: <?xml?> <query type="analyze"> <word>dogs</word> </query> <?xml?> <query type="stem"> <word>dogs</word> </query> <?xml?> <query type="generate"> <word>dog</word> <word>cats</word> </query> <?xml?> <query type="generate"> <word>dog</word> <code><a>is:pl</a><a>is:poss</a></code> </query> The outputs of the type="stem" query and the stem() library function are the same. The output of the type="analyze" query is a string contained a <code><a>result1</a><a>result2</a>...</code> element. This element can be used in the second syntax of the type="generate" query. EXAMPLE
See analyze.cxx in the Hunspell distribution. AUTHORS
Hunspell based on Ispell's spell checking algorithms and OpenOffice.org's Myspell source code. Author of International Ispell is Geoff Kuenning. Author of MySpell is Kevin Hendricks. Author of Hunspell is Laszlo Nemeth. Author of the original C API is Caolan McNamara. Author of the Aspell table-driven phonetic transcription algorithm and code is Bjorn Jacke. See also THANKS and Changelog files of Hunspell distribution. 2008-06-17 hunspell(3)
All times are GMT -4. The time now is 10:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy