|
Will this suit the need?
System.Console.WriteLine ( "{0,1: + ; - }{0,7 : 0 ; 0 }" , 2009 ) ;
System.Console.WriteLine ( "{0,1: + ; - }{0,7 : 0 ; 0 }" , -2009 ) ;
(SPACEs added to avoid smileys; remove them.) (Third try.)
modified on Friday, February 27, 2009 1:55 PM
|
|
|
|
|
Yes, that is brilliant! Thank you
|
|
|
|
|
Glad to be of service.
I was also just looking for a solution using my ApplyFormat[^] method, but no joy.
I had hoped that this would do it:
System.Console.WriteLine ( 2009.ApplyFormat ( "' '+;-''#####0;#####0" ) ) ;
System.Console.WriteLine ( (-2009).ApplyFormat ( "' '+;-''#####0;#####0" ) ) ;
Apparently the number sign (#) format character doesn't perform padding.
(Apparently its only purpose is to result in an empty string when the value is zero. Yeah, like that's useful. )
I guess that means I can add more functionality to my method to support it. Yippee, something to do.
|
|
|
|
|
From my experimentation it seems like the number sign (#) is only useful when specifying the location of a special character, like a comma, such as in String.Format("0:###,###,###").
|
|
|
|
|
Ah, that too. Darn, there needs to be another option, like '9' to specify left-padding.
I've forgotten everything I learned about COBOL, so I forget how this was handled in it.
|
|
|
|
|
PIEBALDconsult wrote: I've forgotten everything I learned about COBOL, so I forget how this was handled in it.
You can fix that easily by following some links at the bottom[^].
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
I already did some searching; I now know almost as much about COBOL as I used to.
|
|
|
|
|
IIRC it also lets you pad to the right of a decimal. Unfortunately I don't know how to pad to the left.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots.
-- Robert Royall
|
|
|
|
|
I appears that the formats themselves don't pad (other than with zeroes), that padding is handled by the WriteLine , string.Format , etc. that calls it.
I assume that the creators of the formatters decided that if the caller was going to do the padding, then they didn't need to. Which makes sense, but there are cases when the caller isn't going to do the padding so the formatter should be able to.
Because my ApplyFormat method is a caller of formatting, I now have to decide how best to allow the user to specify padding.
I'm thinking I should follow Microsoft's lead and allow the format to be prefixed with "n:" to specify a minimum width of n characters.
|
|
|
|
|
similes avoided spaces.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots.
-- Robert Royall
|
|
|
|
|
Alas.
|
|
|
|
|
PIEBALDconsult wrote: SPACEs added to avoid smileys; remove them.
Whenever 4 or more spaces are present use t a b s
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
modified on Sunday, June 12, 2011 8:46 AM
|
|
|
|
|
I didn't want any SPACEs in the format at all.
|
|
|
|
|
The original code was mangled because of fixes required for smileys. Here is the correct code:
System.Console.WriteLine ( "{0 , 1 : + ; -}{0 , 7 : -O ; 0}" , 2009 ) ;
System.Console.WriteLine ( "{0 , 1 : + ; -}{0 , 7 : -O ; 0}" , -2009 ) ;
|
|
|
|
|
What I posted works fine for me (once the SPACEs are removed).
|
|
|
|
|
The best thing to do in this scenario is to create your own customer formatter and then pass it in as an argument.
String.Format(formatProvider, formatString, arguments). I have found this to be the only good way when dealing with phone numbers which may have bad data and I am sure it will provide you with that you need.
http://msdn.microsoft.com/en-us/library/system.iformatprovider.aspx[^]
|
|
|
|
|
It just might come to that.
|
|
|
|
|
I have added padding support to my ApplyFormat method, so now 2009.ApplyFormat ( "' '+;-''6 : 0 ;0" ) will do that.
But now I want to cache the interpretation of the format specifier to streamline things a bit, so I'm not yet ready to update the article.
modified on Saturday, February 28, 2009 6:26 PM
|
|
|
|
|
Hi - can some one help me out here please - I'm new-ish to C#.
What are the performance implications of creating all my objects (forms, classes etc) inside one assembly versus splitting up the application over multiple assemblies?
I would prefer to keep every thing in one as I find it easier to work with and I won't get the cyclic error where by a form in one refers to a form in another which refers back to the original etc.
If I do put eveything in one assembly, will the application take longer to start up?
Will opening forms be quicker using the one as the app won't need to open more than one assembly to find the correct opened form etc?
Thanks
|
|
|
|
|
MarkB123 wrote: can some one help me out here please
Sure why not, click here[^]
I always enjoy helping the Google impaired.
|
|
|
|
|
I like. Less blatant than the original which practically required a tiny URL to slip past any but the blindest.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots.
-- Robert Royall
|
|
|
|
|
Fair enough - that did the job - I'll try not to be so lazy in future
|
|
|
|
|
VS2005 C# This is my first C# project.
I have books, authors and a bkauthlink table linking the other two tables creating a many-to-many relationship. I get an error in Program.cs: one is a problem with the way I'm calling my main form; the other error may mean I have program.cs correct but there's a problem in my data class--specifically with the data relations involving a many-to-many relationship.
Program.cs class:
namespace BooksAuthors
{
static class Program
{
// The main entry point for the application.
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//error re single thread if use this
//"Starting a second message loop on a single thread is not a valid operation.
//Use Form.ShowDialog instead."
//Application.Run(new BooksAuthors.MainForm());
//error "Child list for field Authors cannot be created"
Application.Run(new MainForm()); }
}
}
Here's the class for the data:
namespace BooksAuthors
{
internal class ClassDataHandling
{
public void MainDataClass()
{
string connString = @"Server=RHOADESD;Integrated Security=True;" +
"Database=BOOKS";
SqlConnection conn = new SqlConnection(connString);
SqlDataAdapter booksAdapter = new SqlDataAdapter(
"Select * from books", conn);
SqlDataAdapter bkauthlinkAdapter = new SqlDataAdapter(
"Select * from bkauthlink", conn);
SqlDataAdapter authorAdapter = new SqlDataAdapter(
"Select * from authors", conn);
conn.Open();
DataSet BookAuthDataSet = new DataSet("BookAuthors");
booksAdapter.Fill(BookAuthDataSet, "books");
bkauthlinkAdapter.Fill(BookAuthDataSet, "bkauthlink");
authorAdapter.Fill(BookAuthDataSet, "authors");
conn.Close();
DataRelation book = BookAuthDataSet.Relations.Add(
"BookRel", BookAuthDataSet.Tables["books"].Columns["booksID"],
BookAuthDataSet.Tables["bkauthlink"].Columns["booksID"]);
DataRelation author = BookAuthDataSet.Relations.Add(
"AuthRel", BookAuthDataSet.Tables["authors"].Columns["authorsID"],
BookAuthDataSet.Tables["bkauthlink"].Columns["authorsID"]);
New to C#
modified on Friday, February 27, 2009 2:31 PM
|
|
|
|
|
Welcome to code project
It seems you have made some assumptions about how to use these forums. I suggest you take a look at the first message in this forum. Also click here[^] to read some forum guidelines.
Then keep in mind that you are asking people to help you for free. So take your time and attempt to provide complete concise information. For example your subject says "error message" but you did not seem to post the error message so no one here knows what it says. Secondly you posted code that is likely not relevant which means you did not take the time to formulate your post to optimize the time people will have to apply FOR FREE to help you.
|
|
|
|
|
I'm sorry. I have Googled for a couple days now and tried various things. This is my first C# project, I am teaching myself, and I have a many-to-many relationship between books and authors tables (linked by bkauthlink table) in SQL Server. No doubt it is not a good first project but it is what I have (a problem I need solved). There is not a great deal published on this scenario or I am googling the wrong terms. I have googled my error messages as well. And I did read how to post but have added to the subject and the body. I noted in the body of the code where the issues(s) happened but it seemed like a humongous subject line. I have one of two errors depending on how I call the form in my project. Any help would be greatly appreciated and if it were pleasant, all the more so. Thanks!
|
|
|
|