Click here to Skip to main content

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrasing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page  Show 
GeneralA Brilliant Replacement of float.toFixed(2) [modified]memberTNCaver12hrs 7mins ago 
Our finance folks were a bit annoyed by one of our web pages, where it occasionally rounded the final total to the nearest dime. While troubleshooting a former colleague's JavaScript code that added 2% to the amount entered by the user, I found this gem. His intention, at least, was obvious by the function name.
 
function CurrencyFormatted(amount) {
	var i = parseFloat(amount);
	if (isNaN(i)) { i = 0.00; }
	var minus = '';
	if (i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if (s.indexOf('.') < 0) { s += '.00'; }
	if (s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}
Isn't that brilliant? I mean, why use the simple, single-line solution isFixed(2) when you can do the same thing in 9 lines? WTF | :WTF:
If you think 'goto' is evil, try writing an Assembly program without JMP.


modified 11 hrs ago.

GeneralRe: A Brilliant Replacement of float.toFixed(2)memberLloyd Atkinson11hrs 59mins ago 
Perhaps he didn't know isFixed exists
           .-.
          |o,o|
       ,| _\=/_      .-""-.
       ||/_/_\_\    /[] _ _\
       |_/|(_)|\\  _|_o_LII|_
          \._./// / | ==== | \
          |\_/|"` |_| ==== |_|
          |_|_|    ||" ||  ||
          |-|-|    ||LI  o ||
          |_|_|    ||'----'||
         /_/ \_\  /__|    |__\

GeneralDatetimes in java (again)professionalV.13-Jun-13 1:22 
GregorianCalendar date = new GregorianCalendar(1888, 0, 1, 0, 0, 0);
SimpleDateFormat sdf = new SimpleDateFormat("YYYY");
String convertedstring = sdf.format(date.getTime());
System.out.println(convertedstring);
 
output: 1887 (on my laptop anayway)
 
GregorianCalendar date = new GregorianCalendar(1888, 0, 1, 0, 0, 0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
String convertedstring = sdf.format(date.getTime());
System.out.println(convertedstring);
 
output: 1888
 
For those who didn't notice, in sample 1 I put "YYYY", in sample 2 "yyyy".
I couldn’t immediately find something in the docs or google explaining this…

GeneralRe: Datetimes in java (again)memberBotCar13-Jun-13 1:38 
"YYYY" means week years.
 
Quote:
A week year is in sync with a WEEK_OF_YEAR cycle. All weeks between the first and last weeks (inclusive) have the same week year value. Therefore, the first and last days of a week year may have different calendar year values.
 
For example, January 1, 1998 is a Thursday. If getFirstDayOfWeek() is MONDAY and getMinimalDaysInFirstWeek() is 4 (ISO 8601 standard compatible setting), then week 1 of 1998 starts on December 29, 1997, and ends on January 4, 1998. The week year is 1998 for the last three days of calendar year 1997. If, however, getFirstDayOfWeek() is SUNDAY, then week 1 of 1998 starts on January 4, 1998, and ends on January 10, 1998; the first three days of 1998 then are part of week 53 of 1997 and their week year is 1997

 
SimpleDateFormat[^]
GregorianCalendar[^]
GeneralRe: Datetimes in java (again)professionalBrisingr Aerowing13-Jun-13 2:58 
Confused | :confused:
 
Quite odd, that is.
Gryphons Are Awesome! ‮Gryphons Are Awesome!‬

QuestionMessage Automatically RemovedmemberToywarrior12-Jun-13 21:44 
Message Automatically Removed
AnswerRe: HTML 5 Application.memberAmitosh Swain12-Jun-13 21:53 
Confused | :confused: An application that presents it's UI in html5 and runs in a browser as a regular webpage. Leveraging html5 technoligies, it can do pretty much the same thing that a standard user level application does... Like a word processor. Anyways Let me google that for you![^]
 
But don't tell about a disk defragmanter HTML5 App!
 
You're new, please read the announcement at the top, this ain't the right place for asking questions...
GeneralRe: HTML 5 Application.memberToywarrior12-Jun-13 21:57 
But.. Any Example???
GeneralRe: HTML 5 Application.memberAmitosh Swain12-Jun-13 22:02 
Draw.IO[^]
 
Remember...
Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets.

GeneralRe: HTML 5 Application.memberToywarrior12-Jun-13 22:16 
OK... But I have more questions about this topic...
What should I do
-Toywarrior

GeneralRe: HTML 5 Application.memberAmitosh Swain12-Jun-13 22:21 
We've got programming forums here in CP, see Discussions > Web Developments
GeneralRe: HTML 5 Application.memberToywarrior12-Jun-13 22:24 
Will You Join me There????
-Toywarrior

GeneralRe: HTML 5 Application.memberAmitosh Swain12-Jun-13 22:32 
If you post then... if I get you Laugh | :laugh:
JokeRe: HTML 5 Application.memberjim lahey11hrs 17mins ago 
Looks like you've pulled Smile | :)
GeneralBug of the Day (2)memberRob Grainger12-Jun-13 4:47 
I can beat that - I discovered a bug where new records were failing to be added.
After a number of false trails, I homed in on the following SQL user function:
 
ALTER function [dbo].[ufn_GetNextID](@IDTable as varchar(100), @IDColumn as varchar(100))
returns integer
as
begin
	declare @NewID as integer
	set @NewID=0
 
	return @NewID
end
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.

GeneralRe: Bug of the Day (2)professionalBrisingr Aerowing12-Jun-13 6:30 
D'Oh! | :doh:
Gryphons Are Awesome! ‮Gryphons Are Awesome!‬

JokeRe: Bug of the Day (2)memberrichcb10hrs 49mins ago 
I don't see anything wrong there, what does "0" mean anyway?
GeneralBug of the daymemberDelphi4ever12-Jun-13 4:18 
if(SomeThing == SomeOtherThing);
{
DoSomeThing;
}
 
This one has been sitting in the codebase for a couple of years... Cry | :((
At least it did SomeThing...
GeneralRe: Bug of the dayprofessionalRichard Deeming12-Jun-13 4:25 
Which language? The C# compiler will give you a warning for that: "Possible mistaken empty statement".



"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer


GeneralRe: Bug of the daymemberBobJanova12-Jun-13 4:37 
Even C back in the old days gave you a warning for that.
GeneralRe: Bug of the daymemberKlaus-Werner Konrad12-Jun-13 22:39 
Wich compiler ?
while (*dest++ = *source++);
is completely correct, isn't it ?
GeneralRe: Bug of the daymemberBobJanova12-Jun-13 23:39 
It's a warning, not an error, for that reason. This was back when I used Zortech's ANSI C compiler.
GeneralRe: Bug of the daymemberJacek Gajek14-Jun-13 1:13 
Klaus-Werner Konrad wrote:
Wich compiler?
FTFY: Witch compiler
 
Actually, in this case the C# produces three useless wormings: both for the "while(...);" (an empty statment), "x=y" (an assigment instead of a comparison) and the "*" (an "unsafe" code), does it?
Greetings - Jacek

GeneralRe: Bug of the daymemberKlaus-Werner Konrad14-Jun-13 2:35 
Thanks for the correction.
 
My example was - as a reply to the mention of C, of course a C code snippet,
and is the full working function body for strcpy().
 
Of course, it's unsafe - but lightning fast Smile | :)
GeneralRe: Bug of the daymemberBobJanova14-Jun-13 3:31 
Just in case you didn't get the joke there, he's making a funny about the compiler being witchcraft. The word you meant to use is 'which'.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   


Advertise | Privacy | Mobile
Web02 | 2.6.130617.1 | Last Updated 18 Jun 2013
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid